Все мои контроллеры в моем приложении используют переменную $rootScope
selectedDashboard
. В этом примере я установил переменную $rootScope
в контроллере miniCtrl
.
Я также использую маршруты, и в зависимости от того, какое представление вы используете на других контроллерах, значение selectedDashboard
изменится. Я не понимаю, как я могу использовать службу, потому что я не хочу, чтобы все контроллеры использовали одно и то же заданное значение. Контроллеры по очереди изменяют значение. Правильно ли я использую $rootScope
? Или я все же должен делать что-то другое?
angular.module('ciscoImaDashboardAdmin',[])
.controller('miniCtrl', function ($scope, $rootScope) {
$scope.selectDashboard = function(e) {
var newDashboardNum = e.target.attributes.data.value;
$rootScope.selectedDashboard = newDashboardNum;
}
});
angular.module('ciscoImaDashboardAdmin',[])
.controller('otherCtrl', function ($scope, $rootScope, dummyData) {
var selectedDashboard = $rootScope.selectedDashboard;
var data;
for(var d in dummyData.dashboardsData) {
if(dummyData.dashboardsData[d].dashboard_number == selectedDashboard) {
data = dummyData.dashboardsData[d];
}
}
});