在我的简单项目中,我有 2 个视图 - 行项目视图(品牌)和应用程序。我附加了允许选择多个项目的功能:
var BrandView = Backbone.View.extend({
...一些代码...
切换选择:函数(){
this.model.selected = !this.model.selected;
if(this.model.selected) $(this.el).addClass('selected');
否则 $(this.el).removeClass('selected');
返回这个;
}
});
var AppView = Backbone.View.extend({
...一些代码...
删除选择:函数(){
_.each(Brands.selected(), function(model){
模型.delete_selected();
});
返回假;
},
});
问题是,我想知道选择了多少项目。在此设置中,选择不会影响模型,因此不会触发任何事件。从 MVC 概念中我了解到视图不应该直接与其他视图对话。那么 AppView 怎么知道 BrandViews 中选择了某些东西呢?
更具体地说,我 AppView 知道选择了多少项目,所以如果选择了超过 1 个,我会显示一个用于多选的菜单。