我试图从控制器修改全局值,并在另一个控制器上使用它,修改,但该变量保存旧值。从控制器修改全局值AngularJS
app.js
var app = angular.module('PressRoom', []);
app.value('globals',
{
companyName: 'My company',
appName: 'My app',
user: {
name: 'Test user',
img: '',
role: ''
}
});
控制器,我想修改它
app.controller('LoginController', ['$scope','globals',function($scope,globals)
{
$scope.globals = globals;
globals.user.name = "Brand new user";
// Redirect to dashboard.
}]);
控制器,我想使用它修改。
app.controller('DashboardController', ['$scope','globals',function($scope,globals,)
{
$scope.globals = globals;
}]);
在最后一个控制器的看法,我使用的是一个指令的全局值,但它显示测试的用户,而不是全新的用户
你可以提供一个小提琴? –
看来你不能重写提供者值.. [检查出来](http://stackoverflow.com/questions/27122761/how-to-override-change-angularjs-value-of-value-provider) – Vinay
你可以“T。但你可以创建一个服务,有一个setter,getter;) – deadlock