javascript - Angularjs:数组分配问题

标签 javascript angularjs

我面临一个奇怪的问题,我已经定义了一个对象(全局应用程序)来保存数组 对象看起来像

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/

相关文章:

javascript - 用javascript砍掉未使用的小数

javascript - 在ionic中播放外部音频

javascript - 如何获取 AngularJS 中 ngRepeated 元素的当前子范围?

javascript - 如何更改 Angular 上的按钮?

javascript - Javascript 中的数组未更新

Javascript 从怪异模式切换到标准模式

javascript - Apollo /graphQL : How to use optimistic UI for a mutation of a nested react component?

javascript - 在 jqgrid 中传递一个对象

android - Cordova 和 Angular : plugins not working

javascript - Angular 依赖注入(inject) - 无法实例化工厂/未定义的工厂