热门有效地使用AngularJS和ng-repeat更新列表

前端之家收集整理的这篇文章主要介绍了热门有效地使用AngularJS和ng-repeat更新列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们假设我有一个使用ng-repeat从$scope.items呈现的项目列表.此列表相当大并且定期更新,但是一次只更新单个项目,例如.对项目2进行12次更新,然后对项目359进行2次更新,然后对项目1071进行89次更新,等等.

根据我的理解,更新$scope.items列表中的单个项目将导致AngularJS重新呈现完整列表,即使大多数项目根本没有更改.这似乎是一个毫无意义的事情,可以肯定以更有效的方式处理.我可以使用像jquery这样的工具并自己更新DOM,但这似乎在很大程度上打败了AngularJS. AngularJS中是否有任何方法可以更新ng-repeat生成模型中的单个列表元素?

解决方法

这取决于您如何设置绑定和更新.如果你有一个大的列表,做一个更新,发送到服务器并用服务器的返回替换整个列表,是的,你将重新渲染.但是,如果您只是更新需要更新的一条信息,将该原子信息发送到服务器,则没有理由重新呈现整组数据.

如果您担心或者确实想要一次在屏幕上放置10,000个项目,请为行设置视图模式和编辑模式.您可以使用单向绑定(https://github.com/abourget/abourget-angular)呈现只读版本,在编辑模式下,可以显示具有双向绑定的表单.这将显着增加您在任何给定时间可以在屏幕上显示的项目数量,同时仍允许您编辑每个项目.

猜你在找的Angularjs相关文章