2011-09-19 14 views
115

コレクション内のモデルのインデックスを見つける方法はありますか?Backbone.js:バックボーンコレクションのモデルのインデックスを取得するには?

私たちが取り組んでいるモデルがあるとしましょう。そのモデルは現在内部にあるコレクション内のインデックスを吐き出すことができますか?私は現在のターゲットの上または下のモデルにアクセスしたいので、これを実行したいと思います。

index = this.model.index 
modelAbove = this.collection.at(index-1) 

私のデータがネストので、私は「LFT」または「RGT」列で検索を単に行うことができますが、私はしたくなかった設定されている。言い換えれば

のようなものがありますバックボーンが既にこの情報を利用できる場合は、ホイールを再構築してください。

答えて

196

はい、バックボーンはコレクションのindexOfメソッドを含む、モデルとコレクションの多くのunderscore.jsメソッドへのアクセスを提供します。また、あなたが示したようにatメソッドを提供しています。

var index = this.collection.indexOf(this.model); 
var modelAbove = this.collection.at(index-1); 
+9

ブリリアント!私はindexOfを考えなかったと少し恥ずかしいと感じました。私がどれほど知っているかわかりません。 :) ありがとうございます! –

+2

これをクリアしていただきありがとうございます!あなたが知っていることは、 '.collection'メンバが' Model'のドキュメントに明示的にリストされていれば、それはすばらしいことでしょう... – aaaidan

+4

'initialize'呼び出し中にこれを動作させることはできません。どのように私はその仕事をすることができる任意のアイデア? –

関連する問題