2011-09-19 6 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' 호출 중에는 이것을 사용할 수 없습니다. 내가 어떻게 그 일을 할 수 있었는지 알았어? –

관련 문제