Я новичок в backbonejs Я могу добавлять и показывать контакты из базы данных. но я не могу выполнить удаление с помощью backbonejs. JSFiddle http://jsfiddle.net/L183kw0o/10/ При попытке удалить это дает мне ошибкуBackboneJS Uncaught ReferenceError: переменная не определена
"Uncaught ReferenceError: Id is not defined "
Ниже StackTrace (анонимная функция) VM103: 2 InjectedScript._evaluateOn VM69: 730 InjectedScript._evaluateAndWrap VM69: 669 InjectedScript.evaluate VM69: 581
Это моя модель
var modelContact = Backbone.Model.extend({
defaults: function() {
return {
Id: 0,
Name: "",
Address: ""
};
},
idAttribute: "Id",
url: function(){
return 'api/Contact/' + this.get("Id");
},
initialize: function() {
if (!this.get("Id")) {
this.set({ "Id": this.defaults().Id });
}
},
clear: function() {
console.log(this.get("Id"));
this.destroy({
error: function(model, response) {
alert("error");
},
success: function(model, response) {
alert("success");
console.log(response);
}
});
}
});
Модель Коллекция
var contactCollection = Backbone.Collection.extend({
model: modelContact,
url: function() {
return 'api/Contact';
}
});
var contacts = new contactCollection;
Посмотреть
var contactView = Backbone.View.extend({
tagName: "tr",
events: {
"click a.destroy": "clear"
},
template: _.template($("#newContacttemplate").html()),
initialize: function() {
this.model.on("change", this.render, this);
this.model.on('destroy', this.remove, this);
},
render: function() {
if (this.isGoingToBeRemoved) {
return (this);
}
this.$el.html(this.template(this.model.toJSON()));
return this;
},
clear: function (e) {
this.isGoingToBeRemoved = true;
this.model.clear();
}
});
Все ошибки будут решены, это рабочий код
Какую версию Backbone вы используете? –
Backbone.js 1.1.2 –
Вы переопределяете «clear» [метод] модели Backbone Model (http://backbonejs.org/#Model-clear). – Maroshii