ng-repeat没有正确更新视图

问题描述:

我在我的html中有这段代码。ng-repeat没有正确更新视图

<script> 
    _sessionStorage.datatables.role_list.selected[0].unit_changer_criteria = {"test":"test"} 
</script> 

<div> 
    {{_sessionStorage.datatables.role_list.selected[0].unit_changer_criteria}} 
    <span ng-repeat="(key, value) in _sessionStorage.datatables.role_list.selected[0].unit_changer_criteria">{{key + ': ' + value}}</span> 
</div> 

更改 “_sessionStorage.datatables.role_list.selected [0] .unit_changer_criteria = {” test2的 “:” TEST2 “};”

的{{..}}部在DOM更新但ng-repeat在DOM中保留了“test:test”(它不会被删除),并将“test2:test2”添加到DOM中。所以它看起来像:

测试:测试
测试2:TEST2

当它应该只是说

测试2:TEST2

裸记的{{..}}的一部分DOM显示正确的值,所以摘要被触发并且对象被更新,并且该值被添加到DOM中的重复中......但是它应该更新DOM的重复部分,而不仅仅是添加它。

我也尝试添加“通过$ index的轨道”和“按键跟踪”,但没有运气。

有没有人有任何想法可能是问题?

欢呼 c_bb

+0

你能告诉我们你的控制器的代码? – miquelarranz

+0

http://plnkr.co/edit/UpcKp46gPzrAIl0mM9I9?p=preview –

有一个问题与ng-repeat。如果更新列表项目,则不会反映。如果添加$scope.$apply(),它将反映出来。

对不起...我终于找到了我的问题,这是我的一个指令...对不起浪费每一个时间。一直在寻找几个小时的问题/答案,这导致我回答了这个问题。

大家谁回答..大谢谢!特别是@Rejs ...这是引导我走向正确方向的触发器。

欢呼 c_bb