angular 頁面調用 $rootScope 變量


  大家都知道 $rootScope 是全局作用域,保存到此作用域的變量,所有該模塊的控制器局部作用域下都能訪問到,那么問題來了,如果全局作用域的變量名與局部作用域的名稱一樣,那么該如何區分調用呢???

  方法還是很簡單的:調用全局作用的變量,只需要在變量前加 $root 即可。

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

  不過一般為了防止沖突的變量名,全局作用域下的變量名稱起的一般都有唯一性,所以調用時可以直接插值 : {{變量名}} 來調用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM