让我们假设一个无限滚动显示的 1000 个项目的列表。
每个项目显示:一个人的名字、姓氏和心情。(为了简单起见)
最初,我不想收听更新。
所以伟大的angular-bindence指令甚至更好:angular 1.3 one-binding 特性成功了。
现在,我创建了一个下拉刷新组件,允许刷新整个项目。
但是,作为绑定一次(而不是重新加载页面),我的整个列表没有考虑到更新。
使用 angular-bindence,我目前有这个:
<div bindonce ng-repeat="person in persons track by person.id">
<span bo-text="person.firstName"></span>
<span bo-text="person.lastName"></span>
<span bo-text="person.currentMood"></span>
</div>
下拉刷新触发此功能:
$scope.refresh() {
Persons.getList(function(response)) {
$scope.persons = response.data; //data being an array
}
}
问题是:
有没有办法仅在触发下拉刷新时刷新所有数据?
在这种情况下,我将能够保持这种单一绑定,这将在处理大量人员列表时大大提高性能。
到现在为止,我被迫....使用双向绑定,Angular 的自然工作方式。
更一般地说,如何处理只有在触发某些事件时才需要更新的无限滚动的巨大列表?