我面临一个奇怪的问题,我已经定义了一个对象(全局应用程序)来保存数组 对象看起来像
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'});
在我使用的 Controller 中
var signers = _global.document.signers;
它工作正常。 View 更新为新值
但万一我做了什么
_global.document.signers = [{name:'newTest',email:'newtest@test.com'}];
全局对象得到更新但 View 不呈现新值,如果我将其更改为推送 View 开始呈现新值
有人可以指导我我做错了什么吗? 任何帮助将不胜感激
已更新
感谢@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>
最佳答案
将您的全局对象分配给您的 Controller 范围,因为服务是单例的,如果服务对象发生变化,您的 Controller 将自动对其使用react。
关于javascript - Angularjs:数组分配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21853631/