控制器
- 一般使用[name]Ctrl命名。
- 理解依赖注入
- 一个angular应用程序有多个组件(控制器、过滤器、指令)组成。
- module对象定义方法返回的结构仍然是module对象,有利于链式编程。
- 作用:增强视图,
- 本质:是一个函数,初始化作用域对象,为作用域对象添加额外的功能。
- 当我们在页面上创建一个新的控制器时, AngularJS会生成并传递一个新的$scope给这个控
制器。可以在这个控制器里初始化$scope。由于AngularJS会负责处理控制器的实例化过程,我
们只需编写构造函数即可。 - 保持短小精悍
指令
- 内置指令
- 自定义指定 ---module.directive
- 自定义指定函数的参数是scope,不带$。
定义值
- module.value
使用模块生命周期进行工作
作用域
- 也叫视图模型。包含了视图渲染所需的功能和数据,他是所有视图的源头。
- 生命周期:创建,链接,更新,销毁
- ng-controller和ng-repeat都会创建自己的子作用域并且附加到dom上。
控制器嵌套(作用域包含作用域)
- 父级作用域 $rootscope
- 特例:在指令内部创建的作用域称之为孤立作用域。
- 除了孤立作用域,所用的作用域都是从父作用域继承而来
表达式
- 表达式和eval(javascript)非常相似,但是由于表达式由AngularJS来处理,它们有以下显
著不同的特性:
所有的表达式都在其所属的作用域内部执行,并有访问本地$scope的权限;
如果表达式发生了TypeError和ReferenceError并不会抛出异常;
不允许使用任何流程控制功能(条件控制,例如if/eles);
可以接受过滤器和过滤器链。