AngularJs中$scope和$rootscope的区别

scope 是一个 JavaScript 对象,带有属性和方法,这些属性和方法能够在视图和控制器中使用。javascript

全部的应用都有一个 $rootScope,它能够做用在 ng-app 指令包含的全部 HTML 元素中。css

$rootScope 可做用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,能够在各个 controller 中使用。html

例:java

<!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>

代码效果:angularjs

相关文章
相关标签/搜索