在我看来,我有以下主干代码(不是完整代码):
render: function(){
_.each(this.model_admin.getModelPool(), function(model){
$("#anydata").append("<div class='row list-entry'></div>");
view = new App.Views.ListItemView({el: $(".list-entry").last(), model: model, admin: this.admin})
view.render();
});
},
App.Views.ListItemView = Backbone.View.extend({
template: JST["listEntry"],
events: {
"click .list-val" : "showModel"
},
initialize: function(options){
this.el = options.el;
this.model = options.model;
this.admin = options.admin;
},
render: function(){
$(this.el).html(this.template({name: this.model.modelName}))
},
意图是创建一个 ListItemView 列表。在 ListItemView 中,有一个“单击 .list-entry”事件。
如果我将“#anydata”作为 el 传递给 ListItemView 会更容易。然后将追加放在 ListItemView 而不是 html() 上。但是,它复制了我的事件。有没有更好的方法来做到这一点?谢谢。