加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:17:45 所属栏目:安全 来源:网络整理
导读:让我们假设我有一个使用ng-repeat从$scope.items呈现的项目列表.此列表相当大并且定期更新,但是一次只更新单个项目,例如.对项目2进行12次更新,然后对项目359进行2次更新,然后对项目1071进行89次更新,等等. 根据我的理解,更新$scope.items列表中的单个项目将
让我们假设我有一个使用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)呈现只读版本,在编辑模式下,可以显示具有双向绑定的表单.这将显着增加您在任何给定时间可以在屏幕上显示的项目数量,同时仍允许您编辑每个项目.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读