scope 是一个 JavaScript 对象,带有属性和方法,这些属性和方法可以在视图和控制器中使用。
所有的应用都有一个 $rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。
$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>AngularJs学习(7)</title>
</head>
<body>
<h1>Scope</h1>
<div ng-app="myApp">
<div ng-controller="myCtrl1">
<h2>{{carname}}</h2>
</div>
<div ng-controller="myCtrl2">
<ul>
<li ng-repeat="x in names">{{ x }}</li>
</ul>
</div>
</div>
<!-- 直接引用别的网站托管的angularjs -->
<script type="text/javascript" src="http://cdn.bootcss.com/angular.js/1.3.4/angular.min.js" ></script>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller("myCtrl1", function($scope, $rootScope){
$scope.carname = "BMW"
$rootScope.names = ["Emil", "Tobias", "Linus"];//在myCtrl1中定义全局的rootScope
});
app.controller("myCtrl2", function($scope, $rootScope){
$scope = $rootScope;//可以在同一ng-app的myCtrl2中使用rootScope
});
</script>
</body>
</html>
代码效果: