2012-01-28 11 views

答えて

1

私はあなたの質問を正しく理解していませんが、以下のスニペットがあなたが探しているものかもしれません。

var model = origColl.at(2); 
var models = [model]; 
var newColl = new YourCollection(models); 

newCollは今、あなたの元のコレクションの2位でモデルを含む新しいコレクションになります。この例は、私が書くより少し冗長ですが、それはあなたのためにそれをより明確にするかもしれません。

+0

ありがとうございます - 私は.at()について知りませんでした。出来た – Joe

2

first(n)は、ビューにコレクションが必要な間に配列を返すため、コードが機能しない可能性があります。あなたはこのようにそれをラップする必要があります。

一般的な「スライス」については
var newColl = new Backbone.Collection(origColl.first(2)); 

あなたは_.rangeと一緒にfindを使用することができます。

var newColl = new Backbone.Collection(origColl.find(_.range(start, end)); 

当然、TOUはなくBackbone.Collectionの独自のコレクションクラスを使用することができます。

rangeのマニュアルをhttp://documentcloud.github.com/underscore/#rangeでご覧ください。

関連する問題