No se puede determinar cuál es el problema. Cuando hago clic en un título de modelo, recupera todos los modelos en la colección a la vez en lugar de buscar un modelo. Si muevo este evento de logView a logsView, funciona correctamente pero no tiene acceso al modelo, bueno, puedo encontrar este modelo usando el índice o la identificación de otro modelo, pero no creo que sea una buena manera.El evento de clic de red troncal desencadena eventos para toda la colección en lugar del modelo
var Log = Backbone.Model.extend({});
window.LogsList = Backbone.Collection.extend({
model:Log,
url:function (tag) {
this.url = '/logs/' + tag;
return this;
}
});
window.colList = new LogsList();
window.logView = Backbone.View.extend({
el:$('.accordion'),
template:_.template($('#log').html()),
initialize:function() {
this.model.bind('add', this.render, this);
},
events:{
"click .accordion-toggle" :"getLogBody"
},
render:function() {
return this.template(this.model.toJSON());
},
getLogBody:function() {
this.model.fetch();
}
});
window.LogsView = Backbone.View.extend({
el:$("#content"),
initialize:function (options) {
colList.bind('reset', this.addAll, this);
colList.url(options.data).fetch();
},
addOne:function (model) {
var view = new logView({model:model});
$("#accordion").append(view.render());
},
addAll:function() {
colList.each(this.addOne);
}
});
window.listView = new LogsView({data:"Visa_Cl"});
Gracias, sospeché que me metí con eso. – nateless
Gracias hombre! excelente recurso! –
Gracias ... justo lo que necesitaba. –