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