Estoy empezando a aprender Backbone.js y comencé con this boilerplate e hice un ejemplo cargando datos JSON de un archivo estático en el disco y lo mostraba en una tabla html .El método de destrucción del modelo Backbone.js no desencadena el evento de error
Luego traté de vincular un evento en un botón que se supone que elimina un elemento de la colección, y luego del DOM. La cosa funciona bien, el clic desencadena el método destroy
, el evento remove
se desencadena en la colección, pero no sale nada de los success
error
o devoluciones de llamada de destroy
Alguien tiene una pista?
El modelo:
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;
});
La vista:
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;
});
¿Tiene un conjunto de 'url' para sus modelos o colección? –
Sí, 'url' está establecido en el modelo y la colección – MaxiWheat