0
我試圖從根控制器更改常量的值。 然後狀態轉到登錄控制器,其中常量的值仍舊是舊的。更改常數值和角度廣播到子控制器1.4.9
最初常數被設定這樣的:
var myApp = angular.module("app");
myApp.constant("clientsList", [{"object1":....}]);
我有一個包含
$rootScope.$emit('updateClients', null);
$state.go('login', {}, {reload: true});
在根控制器註銷功能:
> $rootScope.$on('updateClients', function(event, clients) {
> _this.clientsList = clients;
> angular.module("app").constant("clientsList", clients);
> });
而在登錄控制器,後正在被state.go重定向(「登錄」):
.controller('LoginController', LoginController);
function LoginController(clientsList) {
// clientsList still have the old value here:
}
如何更改clientsList常量的值?
「更改不變」即應該足以告訴你,你不應該這樣做:p – Canastro
我雖然這樣。但是提供者包含與登錄用戶相關的數據。我可以使用其他服務... –
雅,總是使用提供者(服務或工廠)來存儲您想要全局訪問的數據。 – Canastro