1

只是我还是 ng-repeat DOM 插入不是批处理。众所周知,DOM 操作很慢,为了提高性能应该批量操作。在集合上使用 ng-repeat 时,它应该在内存中创建 DOM 元素,然后一次将它们全部插入,而不是一次插入一个。

关于如何获得这种行为有什么建议吗?

4

1 回答 1

5

关于 angular 的 databinding有一个非常好的答案,来自它的一位创建者。

请参阅下面的评论,他解释了为什么 Angular 的脏检查方法比更改侦听器更好:

改变合并。假设您有一个项目数组。假设您想将项目添加到数组中,当您循环添加时,每次添加时都会触发更改事件,这会呈现 UI。这对性能非常不利。您想要的只是在最后更新一次 UI。更改事件的粒度太细了。

换句话说,由于这种脏检查方法,Angular 已经只更新了一次 UI,所有 DOM 都发生了变化。

于 2013-07-11T21:08:50.343 回答