5

無限スクロールで表示される 1000 項目のリストを考えてみましょう。

各項目には、個人の名、姓、気分が表示されます。(簡単にするために)

最初は、更新を聞きたくありませんでした。
したがって、優れたangular-bindonceディレクティブ、またはそれ以上に優れているのは、Angular 1.3 のワンバインディング機能がうまく機能したことです。

ここで、プルして更新するコンポーネントを作成し、アイテム全体を更新できるようにしました。
ただし、一度バインドすると(ページをリロードしないため)、リスト全体で更新が考慮されませんでした。

angular-bindonce を使用して、私は現在これを持っています:

<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>

pull-to-refresh は、こ​​の関数をトリガーします。

$scope.refresh() {
    Persons.getList(function(response)) {
      $scope.persons = response.data;  //data being an array
    }
}

質問は:

プルツーリフレッシュがトリガーされた場合にのみ、すべてのデータをリフレッシュする方法はありますか?
この場合、この 1 バインディングを維持できるため、膨大な人のリストを処理する際のパフォーマンスが大幅に向上します。

今までは、Angular の自然な方法である双方向バインディングを使用せざるを得ませんでした。

より一般的には、いくつかのイベントがトリガーされたときにのみ更新する必要がある無限スクロールの巨大なリストを処理する方法は?

4

3 に答える 3