作用域(scope)是构成AngularJS应用的核心基础。
生命周期:创建、链接、更新、销毁。
作用域是视图和控制器间的胶水。
基本功能:
a、提供观察者以监视数据模型的变化
b、将数据模型的变化通知给整个应用,甚至是系统外的组件
c、可以进行嵌套,隔离业务功能和数据
d、给表达式提供运算时所需的执行环境
作用域分为外部作用域,继承作用域和隔离作用域。
作用域的继承机制是向下而非向上的。
隔离作用域是最难理解的一个,但也是最强大的。隔离作用域的概念是以面向对象编程为基础的。最主要的使用场景是创建可复用的组件,组件可以在未知上下文中使用,并且可以避免污染所处的外部作用域或不经意地污染内部作用域。
创建具有隔离作用域的指令需要将$scope属性设置为一个空对象{}.