2012-05-06 13 views
11

これはコンポーネントがあることを知っていますが、コンポーネントを拡張して新しいコレクションを作成する必要があることに基づいています。バックボーンでページネーションを実行する別の方法はありますか?Backbone.jsでのページ設定

私が必要としているのは、前のページと次のボタンが12ページに制限されているだけです。私はjavascriptで作成しています(運用環境には適していません)。何か案は?

答えて

24

バックボーンコレクションにはアンダースコア方式が拡張されているので、ヘルパーページネーション方式を非常に簡単に作成できます。これはあなたのコレクションのtoJSONを返し、あなたはjsfiddleでそれで遊ぶことが

var Paginated = Backbone.Collection.extend({ 

    pagination : function(perPage, page) { 
     page = page-1; 
     var collection = this; 
     collection = _(collection.rest(perPage*page)); 
     collection = _(collection.first(perPage));  
     return collection.map(function(model) { return model.toJSON() }); 
    } 
}); 

:私はのようなものを使用http://jsfiddle.net/YHmrp/2/

+0

素晴らしい、私はちょうどあたりをレンダリングするために私の見解を呼び出す方法を把握する必要がありモデル。私は実際にアンダースコア関数を見ていましたが、あなたがこれに答えたときに私はまだgroupby関数を見ていました。ありがとう。 – jongbanaag

+0

ありがとうございます! –