我了解rootScope及其工作原理。

时间:2017-09-10 06:12:19

标签: angularjs angularjs-scope rootscope

我了解rootScope及其工作原理。在按照教程提到的时候,已经提到rootScope上提到的值可以通过整个应用程序获得,如果rootScope上有任何更改,它将反映在任何地方。在我的下面的代码中

<div ng-app="sample">
  <div ng-controller="emp">
    Hello {{name}}. Your tax amount is ${{taxAmount}}
    <div ng-controller="empDetails">
       Name : {{name}} <br/>
       Salary: {{sal}}<br/>
       Dept: {{dept}} <br/>
       Tax Amount: {{taxAmount}}
    </div>
  </div>

var app = angular.module('sample', [])
         .run( ['$rootScope', function($rootScope){
            $rootScope.taxAmount = 40;
         }]);

app.controller('emp', ['$scope', function($scope){
  $scope.name = "John";
}]);

app.controller('empDetails', ['$scope', '$rootScope', function($scope, $rootScope){
  $scope.sal = 40000;
  $scope.dept= 'CS';
  $rootScope.taxAmount = 50;
}]);

对于两个控制器,我可以访问值TaxAmount但是在empDetails上我已经更改了rootScope上的值。由于在控制器级别明确提及rootScope的值不是一个好的做法,为什么在控制器2中使用rootScope。在现实世界中是否有任何实际需要。我们应该使用它吗?

0 个答案:

没有答案