변경된 모델을 데이터베이스에 저장하고 싶습니다 (이전에 설정). 저장이 다른 페이지로 리디렉션되면 (예 : 다른 작업 일 수 있음)콜백이있는 속성을 지정하지 않고 backbone.js로 저장하는 방법
Model.save는 두 가지 선택적 속성을 가질 수 있습니다. 첫 번째는 속성의 해시이고 두 번째는 성공 및 오류 콜백과 같은 옵션입니다. http://backbonejs.org/#Model-save
somemodel.set({foo: 'bar'});
//lots of other logic and misc steps the user has to do
somemodel.save(); //on success should go here
속성이 이미 설정되어 있으므로 콜백 만 있으면됩니다. 내가했던 과거
:
somemodel.save(somemodel.toJSON(), {
success: function() {
//other stuff
}
);
또는 내가 이것을 정리하는 방법을 찾고 있어요
somemodel.save(
{ foo: this.$('input').val()},
{ success: function(){}
);
방법을 저장에 다시 값을 전달합니다. 문서는 새로운 속성이있는 경우 모델이 변경 상태를 시작한다는 것을 나타냅니다. 하지만 어쨌든 사용자를 리디렉션하고 싶습니다 (새 콘텐츠를 저장하거나 이전/변경하지 않음).
이 존재하지 않습니다
somemodel.on('success', function(){});
이를 만 검증을위한 것입니다 : (그것은 또한 파괴 작동하기 때문에)
이if(somemodel.save()) { //action }
또한 "동기화"잘못된 이벤트
도움이 필요하십니까?
덕분에,이 내가 가진 것보다 확실히 낫다. 나쁘다면 여전히 약간 더러워집니다 (매개 변수를 제공하기 위해 매개 변수를 제공하십시오). 아마 "성공"과 "오류"이벤트를 되돌리기 위해 Backbone.sync를 더 깊이 파고 덮어 써야합니다. 기 본적으로 백본은 이벤트 대 콜백을 느슨하게 연결하기 때문에 기이하다. – Jareish
{} 및 null은이 컨텍스트에서 동일하지 않습니다.{}는 서버에 빈 객체를 보내는 것을 의미하지만 null은 save()에 객체를 전달하지 않고 save()가 객체의 속성을 보내야 함을 의미합니다. – jerzy
@jerzy 맞지 않습니다.'model.save'에 대한 백본 문서를 확인하십시오 :'patch : true' 옵션을 넘겨주지 않으면 리소스의 완전한 표현이 서버로 보내집니다. http://backbonejs.org/# 모델 저장. {} 그리고 null은 같은 행동을 할 것입니다. – nikoshr