1.ng 启动并生成视图时,会将根 ng-app元素同$rootScope进行绑定。$rootScope是所有$scope对象的上层。
2.$scope 里的所有的属性,都可以被视图访问到。
3.作用域包含了渲染视图时所需的功能和数据,它是所有视图的唯一源头,可以将作用域理解为视图模型。
4.每当事件被处理时,$scope就会对定义的表达式求值。此时,事件循环会启动,并且ng 应用会监控应用程序内的所有对象,脏值检测循环也会运行。
5.$scope 的生命周期
a.创建:创建控制器或者指令时,ng 会用$injector创建一个新的作用域,并在这个新建的控制器或者指令运行时,将作用域传递出去。
b.链接:所有的$scope对象都会附加或者链接到视图中。这些作用域将会注册到当ng应用上下文发生变化需要运行的函数(例如$watch)
c.更新:当事件循环运行时,通常执行$rootScope,每个子作用域都执行自己的脏值检测。每个监控函数都会检查变化,如果检查到任何变化,$scope对象就会触发指定的回调函数。
d.ng会自动销毁作用域,你也可以手动调用$destory()的方法来清理这个作用域