#angular 前端JS框架 ##提供了
- 数据绑定
- 模板
- 表单验证
- 路由
- 组件
- 依赖注入
前端的J框 MVVM 模型视图视图模型, 模块化 自动化双向数据绑定 语义化标签 依赖注入
#MVC&MVC ##为什么要需要MVC
- 切分职责
- 复用
- 后期维护比较方便
##分析一下JS执行流程; ##控制器
- 一个控制器控制一小块视图;
- 不要视图在控制器里操作DOM,如果需要操作,要用指令操作;
- 不要进行数据格式化,->要用过滤器;
- 不要互相调用控制器,通过事件来实现;
##模型(参考mvc.html)
-
绑定在$scope
-
当创建控制器时候,会自动创建一个对应$scope,scope是由控制器派生出来的;
-
$scope 默认是一个JavaScript空对象,你可以往里面赋值;
-
$scope 是一个树形结构,因为是挂在标签上的,所以与DOM标签平行;
-
每一个angular应用都有一个根作用域$rootScope;
-
$scope 可以传播事件,可以向上也可以向下;
-
$scope是实现双向数据绑定的基础,现在自己的作用域里找,找不到到根作用域写;
-
$scope 提供了一些方法;$watch $apply
-
$scope 是上下文环境;
- 通过HTML标签实现;{{var}}
- 可以指令实现视图的复用
- MVC借助于$scope实现,和控制器共生,绑定到视图上;
##scope的生命周期
- 在生命controller的时候创建
- 注册监控 绑定的表达式来监控
- 检测模型变化;
- 检测模板是否为脏数据
- 刷新视图
- 当控制器销往的时候,销毁scope