この回答に従って、emberjs に遅延読み込みを実装しようとしています: https://stackoverflow.com/a/11925918/341358。しかし、ember が最初のデータセットをロードするときに行き詰まります。/newsitems
何らかの理由で、最初の ajax 呼び出しは、最初のページのみではなく、呼び出し続けます: /newsitems?page=1
。それ以降、loadmore 機能はうまく機能し、ページ 2、3、4、... の限られたデータ セットが返されます。
だから私の質問は、最初のページのアイテムだけが読み込まれ、すべてが一度に読み込まれないようにするにはどうすればよいですか?
私のルートは次のようになります。
App.NewsitemsRoute = Ember.Route.extend({
model: function() {
return App.Newsitem.find();
}
});
これが私のコントローラーです:
App.NewsitemsController = Ember.ArrayController.extend({
currentPage: 1,
canLoadMore: function() {
return this.get('currentPage') < 10;
}.property('currentPage'),
loadMore: function() {
if (this.get('canLoadMore')) {
this.set('isLoading', true);
var page = this.incrementProperty('currentPage');
this.get('store').findQuery(App.Newsitem, {page:page});
}
else
{
this.set('isLoading', false);
}
}
});