2011-12-13 2 views
38

내 앱에서 데이터로 수행하는 모든 작업은 데이터가 데이터베이스에 저장 될 때 기본 키를 기반으로합니다. 이 키를 기반으로 컬렉션에서 모델을 가져오고 싶습니다.Backbone.js 컬렉션에서 해당 ID로 모델을 얻으려면 어떻게해야합니까?

Collection.at()를 사용하려면 배열 색인이 필요하며 Collection.getByCid()에는 백본이 임의로 생성하는 클라이언트 ID가 필요합니다.

주어진 id 값을 가진 컬렉션에서 원하는 모델을 가져 오는 가장 좋은 방법은 무엇입니까? 나는 내가 할 수있는 최악의 상황은 각 항목을 반복하고, .get ('id'), 그리고 그 것을 반환하는 것이라고 생각한다.

+7

찾고 계신 방법이 아닙니까? http://documentcloud.github.com/backbone/#Collection-get – nikoshr

+0

고마워! 내가 그것의 속성 키/값 저장소의 일부라고 가정했기 때문에 나는 .get()을보고 건너 뛰었습니다 ... 당신이 질문에 대답하면 당신에게 대답을 줄 수 있습니다. –

답변

60

get 메소드를 살펴 보자, 그것은
콜렉션에서 모델을 가져

http://backbonejs.org/#Collection-get

collection.get (ID)를 얻을 도움이 :)이 될 수 있습니다 id, cid 또는 모델을 전달하여 지정됩니다. 데이터가 키의 다른 종류 또는 at(), getByCid() 또는 get() 잘 메쉬하지 않는 세트를 사용해야하는 경우

+3

클릭하면 저장됩니다. 전체 문서는 다음과 같습니다. id, cid로 지정되거나 모델을 전달하여 컬렉션에서 모델을 가져옵니다. var book = 라이브러리 .get (110); – DOK

7

where()있다. 이 같은 것이 작동 할 수도 있습니다.

window.lib = new Library; 
window.lib.fetch([ 
    success: function(model, response) { 
     console.log(window.lib.where({'BookID':488, 'Rev':2, 'Status':'Active'}); 
    } 
}); 
관련 문제