素材巴巴 > 程序开发 >

JavaEE-面试-angular面试回答思路

程序开发 2023-09-10 15:29:51

是什么?

1、Angular 是JS框架,是前端三大框架之一(Vue、React、Angular)。
2、Angular主要有双向绑定、模块化设计、依赖注入等特性。双向绑定、模块化设计在品优购项目中均有体现。
3、MVC,MVP和MVVM都是常见的软件架构设计模式(ArchitecturalPattern),Angular是MVVM的架构模式。

它的出现解决什么问题?

个人心得,网站开发,基本都包含数据获取、数据CRUD以及其他处理、前端动态展示、前端事件监听、前端数据验证。

以前的开发模式主要通过jq的ajax发起请求,通过操作dom更新页面。这种方式有大量代码和大量操作。

用了angular之后:
数据获取交给了service,数据CRUD交给了controller,清晰了。
前端的动态展示、事件监听、数据验证交给了指令,简单了。

同类型技术?

vue、react
关于三者的对比,可以自行百度百度。

重要特性介绍?

1. 双向绑定?

简单来说,就是控件和数据,预先通过ng-model指令绑定好,而后数据改变影响ui展现,ui展现影响数据改变。
双向绑定的实现原理,我们就不关心了。

2. 模块化?

angular为我们提供了module、controller、service三个概念帮助我们组织js代码。理解angular模块化其实就是理解angular的module、controller、service三者关系。

a ) module

可以自定义module,比如我们就定义了“pinyougou”这个module:

在这里插入图片描述

定义module的目的是为了让相关功能代码合在一起,大型应用可能有好几个module,我们这里只是自定义了一个。

官方提供了很多module: ng、ngRoute、ngAnimate、ngTouch。我们项目中好像没有用到。

可以使用三方module:pagination

在这里插入图片描述

module下面又可以创建很多的controller、service。

在这里插入图片描述

b ) controller

可以把页面都用到数据和方法放到一个controller里面。

在这里插入图片描述

在这里插入图片描述

其他controller可以继承它。

在这里插入图片描述

一个controller可以依赖多个服务,包括自定义服务和系统内置的服务。

在这里插入图片描述

controller则是处理页面逻辑,比如crud等操作,主要操作的是数据。

c ) service

一个service可以依赖多个服务,不过一般都只依赖内置的$http服务。

在这里插入图片描述

service主要发送网络请求:

在这里插入图片描述

内置服务 s c o p e : 作 为 x x C o n t r o l l e r . j s 和 x x . h t m l 之 间 数 据 传 递 的 桥 梁 。 也 可 以 说 scope: 作为xxController.js和xx.html之间数据传递的桥梁。也可以说 scope:作为xxController.js和xx.html之间数据传递的桥梁。也可以说scope应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带

内置服务$http:
发送请求

3. 指令

用过的指令

指令说明ng-app指定moduleng-controller指定controllerng-init初始化加载ng-click点击ng-model绑定数据ng-repeat重复ng-if条件判断

4. 其他高级特性

路由支持,可以静态页面通过href跳转的时候传递参数。
在这里插入图片描述

监听内容变化

在这里插入图片描述

5. 理解MVVM

了解,做前端开发的需要掌握,做后台开发的尝试去理解就好。

MVVM模式是Model-View-ViewModel(模型-视图-视图模型)模式的简称。

在这里插入图片描述

在angular中MVVM模式主要分为四部分:
View:页面
Model:业务领域的对象,Model并不关心会被如何显示或操作,所以模型也不会包含任何界面显示相关的逻辑。
ViewModel:在angular中$scope对象充当了这个ViewModel的角色;
Controller:这并不是MVVM模式的核心元素,但它负责ViewModel对象的初始化,它将组合一个或者多个service来获取业务领域Model放在ViewModel对象上,使得应用界面在启动加载的时候达到一种可用的状态。

实际项目?

商家后台、商户后台、网页前端都用到了angular

拓展说说?

angular的依赖注入。
angular的过滤器。
Angular directive。
angular版本细节:

  1. angular.js 1.x到angular2确实是一个非常大的升级。
  2. 学习angular2就和学一个全新的框架并没有太大区别。
  3. 没有angular3。
  4. 现在是angular4.x。

标签:

上一篇: HTML5岗位技能实训室建设方案 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。