AngularJS启动并生成视图时,会将根ng-app
元素同$rootScope
进行绑定。$rootScope
是所有$scope
对象的最上层。
$rootScope
是AngularJS中最接近全局作用域的对象。在$rootScope
上附加太多业务逻并不是好主意,这与污染JavaScript的全局作用域是一样的。
$scope
对象就是一个普通的JavaScript对象,我们可以在其上随意修改或添加属性。
$scope
对象在AngularJS中充当数据模型,但与传统的数据模型不一样,$scope
并不负责处理和操作数据,它只是视图和HTML之间的桥梁,它是视图和控制器之间的胶水。
$scope
的所有属性,都可以自动被视图访问到。
<div ng-app="myApp">
<h1>Hello {{ name }}</h1>
</div>
我们希望{{ name }}
变量是本地$scope
的一个属性,效果如图4-1所示。
angular.module('myApp', [])
.run(function($rootScope) {
$rootScope.name = "World";
});