これは、backbone.js アプリケーションを作成する最初の試みです。私のモデルである連絡先と、連絡先のリスト/コレクションがあります。
連絡先リストの最初のレンダリングとフェッチは正常に機能します。
今、クリック イベントの後にコレクションから連絡先を削除しようとしています。ContactsView の削除機能で何か間違っているようです。そのメソッドの最後に連絡先を console.log すると、 this.contacts コレクションは変更されません。
どんな助けでも大歓迎です!
var Contact = Backbone.Model.extend({
});
var Contacts = Backbone.Collection.extend({
model: Contact,
url: '/backbone/crm/contact'
});
var ContactsView = Backbone.View.extend({
initialize: function() {
this.contacts = new Contacts();
this.contacts.bind("reset", this.render, this);
this.contacts.bind("change", this.render, this);
this.contacts.bind("remove", this.render, this);
this.contacts.fetch();
},
events: {
"click .delete": "delete"
},
render: function() {
$("#contacts tbody").replaceWith(
$("#contacts_tmpl").render({ 'contacts': this.contacts.toJSON() }));
},
delete: function(e) {
var id = $(e.currentTarget).parents("tr").attr("id");
var model = this.contacts.get(id);
this.contacts.remove(model);
}
});
var contactsView = new ContactsView({ el: $("#contacts")});