Impossibile capire cosa c'è che non va. Quando faccio clic su un titolo di modello, recupera tutti i modelli in una raccolta, piuttosto che recuperare un modello. Se sposto questo evento da logView a logsView funziona correttamente ma non ha accesso al modello, ma posso trovare questo modello usando l'indice o l'altro ID di un altro modello, ma non penso che questo sia un buon modo.L'evento click backbone genera eventi per tutte le raccolte anziché il modello
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"});
Grazie, ho il sospetto che mi sia incasinato. – nateless
Grazie amico! risorsa eccellente! –
Grazie ... proprio quello di cui avevo bisogno. –