에서 단일 백본 모델을 가져 오기 내가 경로 설정이 말 :서버
'photos/:id' : 'showPhoto'
을 누군가가 URL을 공유 : www.mysite.com/photos/12345
를 친구와 함께.
친구가 공유 링크를 클릭하면 showPhoto
이 호출되어 12345가 id로 전달됩니다.
showPhoto: (id) ->
photo = new models.Photo _id:id
photo.fetch #does a GET to /photos, I would have expected it to request /photos/12345
success:() ->
render photo view etc...
Photo = Backbone.Model.extend
idAttribute: '_id'
urlRoot: '/photos'
: 나는 그것의 ID 속성을 설정하고) (가져 오기를 호출하는 경우에도 때문에, 서버에서 모델을 가져 오는 방법을 알아낼 질수 백본 모델
isNew
와 그렇게 아약스 요청 URL 그냥
/photos
대신
/photos/12345
이라고 생각
모델 Photo
은 대개 컬렉션의 일부이지만이 시나리오에서는 누군가가 직접 사이트를 방문하여 한 장의 사진에 대한 데이터 만 볼 것으로 예상하므로 컬렉션의 상태가 앱 상태에서 인스턴스화되지 않습니다.
전체 사진 컬렉션을로드하고 collection.getById(id)
을 사용하는 해결책은 무엇입니까? 이것은 단지 하나의 모델에 대한 속성을로드하려는 경우 너무 비효율적 인 것처럼 보입니다. 나는이 같은 거기에 하나 개의 모델 (페이지에 다음 렌더링에 의해) 컬렉션을 부트 스트랩 것
Derick, 어떻게 백본에 대해 많이 배웠습니까? 확실한 가이드를 찾지 못했습니다. Addy Osmani의 Fundamentals and Recipes with Backbone을 비롯하여 수많은 블로그가 나와 있습니다. 당신은 대부분보다 더 깊은 이해를 가지고있는 것 같습니다. 어디서 들었 니? – AndrewHenderson
시도와 오류, 백본 소스 코드 읽기, 내가 할 수있는 모든 것을 읽고, 내가 자바 스크립트에 관해 할 수있는 한 많은 것을 배울 수 있지만, 대부분 다른 사람들을 가르치려고한다. 다른 사람들을 가르치면 깊게 파고 들어가서 무슨 일이 벌어지고 있는지 정말로 이해하게됩니다. :) –
이것은 Backbone의 API가 개선됨에 따라 날짜가 답이 된 것 같습니다. 이 답변을 개선 할 수 있습니까? – sankargorthi