처음으로 - annotated source은 백본에 대한 질문에 대한 답변을 찾는 가장 좋은 장소입니다.
그렇게이 방법을 무시하는 것은 당신이 필요로하는 무엇을 달성해야 모델이 JSON.stringify(model.toJSON())
(당신이 emulateJSON
를 사용하지 않는 추정)를 사용하여 직렬화 것을 볼 Backbone.sync
의 소스에서 수 찾고있다. 테스트 케이스가 줄어들지 않으면 왜 이것이 작동하지 않는지 설명 할 수 없습니다.
더 긴 대답은 서버 - 클라이언트 동기화를 완벽하게 제어하려면 자체 Backbone.sync 구현을 작성해야한다는 것입니다. 이 방법은 매우 간단하며 (주석이 달린 소스 참조) 간단한 변경 만 원한다면 원래 동기화를 간단히 감쌀 수 있습니다. 예를 들어
:
function mySyncFunction(method, model, options){
if(method == 'create' || method == 'update'){
options.contentType = 'application/json';
options.data = model.serializeForServer(); //You will need to write this method
}
return Backbone.sync(method, model, options);
}
그냥 모델의 일부
var myModel = Backbone.Model.extend({
...
"sync": mySyncFunction,
...
});
당신을 감사로 선언 사용자 정의 동기화 방법을 사용하려면! 백본에 localStorage 어댑터를 사용하고 있는데, toJSON 메서드를 호출하지 않습니다. 나는 그것을 수동으로 패치했고, 나는 그것을 업스트림으로 밀어 넣는 방법도 점검 할 것이다. – Andrea