我面临一个奇怪的问题,我已经定义了一个包含数组的对象(全局用于应用程序) 对象看起来像
var _global = {
document: {}, // represent selected item
};
在我的服务中我有类似的东西
_global.document.signers =[{name:'test',email:'test@test.com'}];
工作正常。现在,如果我像
那样推送元素_global.document.signers.push({name:'test',email:'test@test.com'});
并在控制器中使用
var signers = _global.document.signers;
它工作正常。视图使用新值进行更新
但如果我做某事
_global.document.signers = [{name:'newTest',email:'newtest@test.com'}];
全局对象更新但视图不呈现新值,如果我将其更改为推送视图开始呈现新值
有人可以指导我,我做错了。 任何帮助将不胜感激更新
感谢@shani的帮助,我已经使用
解决了这个问题var draft = globalService.getGlobal(); //global service for maintaining global objects
$scope.draft = draft;
并在视野中
<ul class="list-unstyled font-11px" >
<li ng-repeat="(signerIndex, signer) in draft.document.signers">
</li></ul>
答案 0 :(得分:2)
将全局对象分配给控制器范围,因为如果服务对象发生更改,服务就是单例,控制器将自动对其作出反应。