Tôi bắt đầu tìm hiểu Backbone.js và tôi bắt đầu với this boilerplate và tạo một ví dụ bằng cách tải dữ liệu JSON từ một tệp tĩnh trên đĩa và hiển thị nó trong bảng html .Phương thức hủy của mô hình Backbone.js không kích hoạt thành công hoặc lỗi sự kiện
Sau đó, tôi đã cố gắng ràng buộc một sự kiện trên một nút được cho là xóa một phần tử khỏi bộ sưu tập, sau đó từ DOM. Điều hoạt động tốt, bấm vào kích hoạt phương pháp destroy
, sự kiện remove
được kích hoạt chế độ thu, nhưng không đi ra của success
hoặc error
callbacks của destroy
Bất kỳ ai có một đầu mối?
Mô hình:
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;
});
Quan điểm:
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;
});
Bạn có tập hợp 'url' cho mô hình hoặc bộ sưu tập của mình không? –
Có, 'url' được đặt trên cả hai mô hình và bộ sưu tập – MaxiWheat