2013-12-11 28 views
1

我有一個問題,在第一次數組更新後,我的ng-repeat渲染會加倍。ng-repeat在數組更新後進行了雙重渲染

當你第一次從數組中移除一個對象時,問題就會發生,ng-repeat會渲染渲染並渲染兩次。請注意,當您嘗試刪除約翰0,在列的div的數量從20倍增至39

Buggy Demo

我目前使用的指令來呈現信息。

當我刪除了負責顯示信息的指令,並且只是呈現信息以及觸發ng-repeat本身的點擊時,它可以正常工作(列中元素的數量變爲19)

This is the plunkr containing the code,但我無法複製它在普朗克

任何幫助,將不勝感激。

謝謝!

+0

在dropbox版本中檢查實時HTML ...在列中具有DIV數量的兩倍。不同的是笨蛋 – charlietfl

+0

是的,我明白了。感謝您突出顯示它。做了更多的調查。 刪除調用後,要重複的數組變得更短,這是正確的。這些變化在笨蛋中正確地反映出來。但是,我的div中的列在保管箱版本中翻了一番。 這是我不明白的部分。兩個版本都用相同的東西來處理ng-repeat,但代碼在plunker之外不起作用。 – iamjt

+1

這是一個angularjs的bug。解決方法是使用該指令作爲ng-repeat的子項,而不是使元素本身成爲指令。 https://github.com/angular/angular.js/issues/2151 – iamjt

回答

2

發現問題。

這是一個angularjs的bug。

https://github.com/angular/angular.js/issues/2151

更新您的angularjs版本1.2.4來將解決這一問題。

解決方法是將指令用作ng-repeat的子元素,而不是ng-repeat元素本身。

+0

它只是救了我的命!謝謝! –