$scope與$rootScope
RootScope定義的值可以在各個Controller中使用,這就是它與Scope的主要區別,Scope定義的值只能在其所在的Controller中使用。
<!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="utf-8"> <script src="//apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body>
<div ng-controller="myCtrl"> <ul> <li ng-repeat="x in names">{{x}}</li> </ul> <p>myCtrl中可以顯示使用$rootScope定義的lastname的值:{{lastname}}</p> <p>myCtrl中不可以顯示使用$scope定義的names2的值:{{names2[0]}}</p> </div>
<div ng-controller="myCtrl2"> <ul> <li ng-repeat="x in names2">{{x}}</li> </ul> <p>myCtrl2中也可以顯示使用$rootScope定義的lastname的值:{{lastname}}</p> <p>myCtrl2中也不可以顯示使用$scope定義的names的值:{{names[0]}}</p> </div>
<script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope,$rootScope) { $scope.names = ["Emil", "Tobias", "Linus"]; $rootScope.lastname = "Refsnes"; }); app.controller('myCtrl2', function($scope) { $scope.names2 = ["Emil2", "Tobias2", "Linus2"]; }); </script> </body> </html>