angular Scope(作用域)
AngularJS应用程序是由View、Model、Controller三部分组成。Scope是一个对象,可以包含方法和属性,用于视图和控制器上面,是视图和控制器的纽带,在创建controller的时候将$scope对象作为一个参数传递。如下:
<div ng-app="demo" ng-controller="demoController">
<h1>{{carName}}</h1>
</div>
<script>
var app=angular.module("demo",[]);
app.controller("demoController",function($scope){
$scope.carName="Volvo";
});
</script>
当在控制器中添加$scope对象的时候,视图可以获取这些属性,而且在视图中不需要添加$scope前缀。
根作用域
所有的应用都有一个$rootScope,它可以作用在ng-app指令包含的所有html元素中。,可以用于整个应用中,是各个scope的桥梁,用rootScope定义的值,可以在各个controller中使用。
<div ng-app="demo" ng-contolller="mycontroller">
<h1>{{lastname}} 's numbers</h1>
<ul>
<li ng-repeat="x in names">{{x}}</li>
</ul>
</div>
<script>
var app=angular.module("demo",[]);
app.contoller("mycontroller",function($scope,$rootScope){
$scope.names=['li','zhang','zhao'];
$rootScope.lastname=“china”;
});
</script>