나는 그것을 할 수 있다는 것을 잘 알고 있으며 꽤 많은 곳을 살펴 보았습니다 (포함 : 전체 컬렉션 저장을위한 모범 사례? ). 하지만 여전히 "정확히 어떻게"코드로 작성되었는지 확실하지 않습니다. (게시물은 영어로 설명합니다. 자바 스크립트에 대한 설명이 있으면 좋겠습니다. :)
모델 컬렉션이 있다고 가정 해 보겠습니다. 모델 자체에 중첩 컬렉션이있을 수 있습니다. 부모 컬렉션의 toJSON () 메서드를 재정의했으며 유효한 JSON 개체를 얻고 있습니다. 전체 컬렉션 (해당 JSON)을 "저장"하고 싶지만 백본에는 해당 기능이 내장되어 있지 않은 것 같습니다.
var MyCollection = Backbone.Collection.extend({
model:MyModel,
//something to save?
save: function() {
//what to write here?
}
});
나는 당신이 말해야 할 곳을 알고 있습니다.
Backbone.sync = function(method, model, options){
/*
* What goes in here?? If at all anything needs to be done?
* Where to declare this in the program? And how is it called?
*/
}
처리와 함께 '보기'가 완료되면 컬렉션이 서버에 자신을 "저장"하도록 지시하는 역할을합니다 (대량 업데이트 / 생성 요청 처리 가능).
발생하는 질문 :
- "모두 함께 연결"하기 위해 코드를 작성하는 방법 / 무엇입니까?
- 콜백의 '올바른'위치는 무엇이며 "성공 / 오류"콜백을 지정하는 방법은 무엇입니까? 내 말은 문법적으로? 백본에 콜백을 등록하는 구문이 명확하지 않습니다 ...
실제로 까다로운 작업이라면 뷰 내에서 jQuery.ajax를 호출 하고 성공 / 오류 콜백으로 this.successMethod
또는 전달할 수 있습니까 this.errorMethod
?? 작동할까요?
백본의 사고 방식과 일치해야합니다. 전체 컬렉션을 동기화하는 것이 확실히 누락 된 것을 알고 있습니다.