你們都知道 $rootScope 是全局做用域,保存到此做用域的變量,全部該模塊的控制器局部做用域下都能訪問到,那麼問題來了,若是全局做用域的變量名與局部做用域的名稱同樣,那麼該如何區分調用呢???html
方法仍是很簡單的:調用全局做用的變量,只須要在變量前加 $root 便可。app
<!DOCTYPE html> <html ng-app='myApp'> <head> <meta charset='utf-8'> <script src='angular.js'></script> </head> <body> <div ng-controller='myCtrl1'> <div>myCtrl1 : {{name}}</div> <div>myCtrl1 : {{$root.name}}</div> </div> <div ng-controller='myCtrl2'> <div>myCtrl2 : {{name}}</div> </div> <script> var app = angular.module("myApp",[]) app.controller("myCtrl1",function($scope, $rootScope){ $scope.name = 'scope'; }) app.controller("myCtrl2",function($scope, $rootScope){ $rootScope.name = 'rootScope'; }) </script> </body> </html>
不過通常爲了防止衝突的變量名,全局做用域下的變量名稱起的通常都有惟一性,因此調用時能夠直接插值 : {{變量名}} 來調用。spa