Backbone.js를 배우기 시작했고 this boilerplate으로 시작하여 디스크의 정적 파일에서 JSON 데이터를로드하고 HTML 테이블에 표시하여 예제를 만들었습니다 .Backbone.js 모델의 destroy 메소드가 성공 또는 오류 이벤트를 발생시키지 않습니다.
그런 다음 컬렉션에서 요소를 삭제 한 다음 DOM에서 요소를 삭제해야하는 단추에 이벤트를 바인딩하려고했습니다. 건은 remove
이벤트가 컬렉션 트리거, 클릭이 destroy
방법을 트리거, 잘 작동하지만 아무 단서가 destroy
누구의 success
또는 error
콜백에서 온다?
모델 :
define([
'underscore',
'backbone'
], function(_, Backbone) {
var memberModel = Backbone.Model.extend({
url: "/members.json",
defaults: {
email: "",
firstname: "",
lastname: "",
gender: "",
language: "",
consent: false,
guid: "",
creationDate: ""
},
initialize: function(){
}
});
return memberModel;
});
뷰 :
define([
'jquery',
'underscore',
'backbone',
'mustache',
'collections/members',
'text!templates/members/page.html'
], function($, _, Backbone, Mustache, membersCollection, membersPageTemplate){
var membersPage = Backbone.View.extend({
el: '.page',
initialize: function(){
this.members = new membersCollection();
this.members.on('remove', function(){
// works fine
$('.members-body tr').first().remove();
console.log('removed from collection');
});
},
render: function() {
var that = this;
this.members.fetch({success: function(){
var wrappedMembers = {"members" : that.members.toJSON()};
that.$el.html(Mustache.render(membersPageTemplate, wrappedMembers));
$('#delete-member').click(function(){
that.members.at(0).destroy({
// prints nothing!!!
success: function(){ console.log('sucess'); },
error: function(){ console.log('error'); }
});
});
}});
}
});
return membersPage;
});
모델이나 컬렉션에 대해 'url'세트가 있습니까? –
예, 모델 및 컬렉션 모두에 'url'이 설정되어 있습니다. – MaxiWheat