在我的简单项目中,我有 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 个,我会显示一个用于多选的菜单。