我了解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。在现实世界中是否有任何实际需要。我们应该使用它吗?