私は無限のページネーションに取り組んでいます(http://addyosmani.github.io/backbone.paginator/examples/infinite-paging/index.html)
ページネーション ビューに CompositeView を使用しています。
そして、私は次の問題を抱えています。データの新しい部分を取得するたびに、ページネーターのコレクションは古いデータを削除して新しいデータを追加するため、CompositeView は古い結果を再レンダリングして消去します。
この問題を解決するにはどうすればよいですか? 再レンダリング機能を無効にすることを考えていますが、適切に行うにはどうすればよいですか?
前もって感謝します!
var BaseFeedChronoCompositeView = Backbone.Marionette.CompositeView.extend({
tagName: "div",
template: _.template(ChronoFeedComposite_html),
itemView: Article,
events: {
'click #loadmore-button-manual': function (e) {
e.preventDefault();
this.collection.requestNextPage();
},
appendHtml: function (collectionView, itemView, index) {
collectionView.$("#chronoFeed-content").append(itemView.$el);
}
});
これが基本的なコードです。this.collection.requestNextPage() - データのリクエストをサーバーに送信します。データを取得した後、this.collection は古いモデルを削除し、新しいモデルを追加します。
複合ビューはこれらのイベントをリッスンし、古いモデルの itemView を削除し、新しいモデルの itemView を追加します。
そして、古い itemViews を削除しないために CompositeView が必要です。