目前我在模板中插入id attrbute以获取用户点击的模型。
ArticlesView = Backbone.Marionette.CollectionView.extend({
tagName: "ul",
childView: ArticleView,
ui: {
"add": ".btnAdd",
},
events: {
"click @ui.add" : "addToSelection",
},
addToSelection: function(event){
//Get the current item's id.
var clicked = $(event.currentTarget);
var article = articles.get(clicked.attr("id"));
selecteds.add([article.clone()]);
},
});
我的问题是:有没有其他方法可以在不使用模板中的id属性的情况下获取点击的模型?
答案 0 :(得分:1)
childView
都应具有model
属性:因此,您应在视图类定义中添加每个模型的方法,此处为ArticleView
。
看起来像这样:
var ArticlesView = Backbone.Marionette.CollectionView.extend({
tagName: "ul",
childView: ArticleView
});
var ArticleView = Backbone.Marionette.ItemView.extend({
tagName: "li",
ui: {
"add": ".btnAdd",
},
events: {
"click @ui.add" : "addToSelection",
},
addToSelection: function(){
selecteds.add(this.model);
}
});