2016-06-21 89 views
0

我在我的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 –

回答

0

有一個問題與ng-repeat。如果更新列表項目,則不會反映。如果添加$scope.$apply(),它將反映出來。

0

對不起...我終於找到了我的問題,這是我的一個指令...對不起浪費每一個時間。一直在尋找幾個小時的問題/答案,這導致我回答了這個問題。

大家誰回答..大謝謝!特別是@Rejs ...這是引導我走向正確方向的觸發器。

歡呼 c_bb