2013-12-11 25 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

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