Я понимаю 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 на уровне контроллера не является хорошей практикой, зачем использовать rootScope в контроллере 2. Есть ли какая-либо практическая необходимость в реальном мире. Должны ли мы использовать его.


person Megh    schedule 10.09.2017    source источник