0
이것은 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")});
http://jsfiddle.net/nikoshr/EFWGU/에서 작동합니다. 삭제 클래스가있는 요소가 버튼입니까 또는 링크입니까? – nikoshr
사실 내 렌더링 방법에 문제가있었습니다. 질문이 하나 더 있습니다. 그래서 다른 응답 때문에이 공간이 더 필요합니다. –