2013-05-28 3 views
1

backbone.js를 사용하기 시작했으며 왜 다른 방법으로 URL을 지정할 수 있는지 혼란 스럽습니다. 컬렉션 url이 모델 url 함수를 제외하고 어디에서나 사용되는 것처럼 보이지 않습니다. 그래서 내 모든 모델에 urlroot를 설정하고 수집 URL을 사용하지 않는 것이 어떤 해가됩니까?BackboneJs 컬렉션에 URL이있는 이유는 무엇입니까?

답변

2

전혀 해가 없습니다. 모델 수준에서 업데이트, 삭제 등을 완벽하게 수행 할 수 있지만 서버에서 모델 세트를 가져 오려면 한 번에이 모델을 사용하면 편리합니다 .

Books = Backbone.Collection.extend({ 
    url : "/books" 
}); 
books = new Books(); 
books.fetch(); // this will line will make a GET request to your backend, the result will 
       // be a list of models. 
+0

이 컬렉션에 모델의 모든 인스턴스가 포함되어 있지 않은 경우 가져올 모델을 가져 오는 방법은 무엇입니까? 학생 모델, 학생 컬렉션 및 학생 컬렉션이있는 클래스 모델이있는 것처럼 각 학생 컬렉션에 대한 URL을 수동으로 설정해야 클래스 모델의 ID와 관련이 있습니다. – bdwain

+0

자바 스크립트의 모든 속성으로 값이나 함수가 될 수 있습니다.이 구체적인 예에서는 클래스의 학생 콜렉션 경로를 "계산"하는 데 사용할 수 있습니다. url : function() {retunr "students"+ class.id;} 이렇게하면 클래스를 인스턴스화 할 때 this.class.students.fetch();를 호출 할 수 있습니다. –

0

는 Backbone.js에서 모델 및 컬렉션은 "구조화"데이터에 관한, 그리고 등뼈가 이러한 작업을 수행하기위한 방법을 제공한다. 평안한 경로를 사용하면 가장 자주 업데이트를 필요/이런 식으로 가져옵니다 :

GET /students 
[{name: "...", ...}] 

GET /students/1 
{name: "..."} 

당신이 관찰로, URL은 비슷하지만, 대부분의 경우에 서로 다른 모양, 컬렉션 및 모델의 응답이 인출 처리. 개념적으로 모델은 컬렉션의 일부이므로 모델 URL은 대부분의 경우 컬렉션에서 확인할 수 있습니다. 이 모델과 모음이 일치하지 않는 다른 API는, 당신은 자신을 (예를 들어, 컬렉션에 속하지 않는 세션 모델)

어쩌면 그것은 또한 모델에 대한 문서를 비교하는 데 도움이 URL을 설정해야 및 컬렉션 가져 오기 : http://jonathanotto.com/blog/backbone_js_for_the_everyman.html

:

이 또한 사고의 백본 방법을 이해하는 데 도움이 될 수 있습니다