我是 Backbone JS 的新手,在理解一个概念时遇到了一些麻烦。
我有一个面板界面,屏幕上一次显示一个面板。每个面板都由自己的视图控制,并附有自己的模型。现在,每个面板都作为“激活器”选项卡,可以单击以显示下一个面板。
在我看来,这些选项卡实际上是父面板视图的子视图。没有面板,标签不应该存在。但是,所有选项卡必须同时出现在屏幕上,以便用户可以在面板(视图)之间切换。因此,基本上所有面板(无论如何都是它们的模板)都将被加载,但在单击选项卡触发之前隐藏,此时将填充或更新其内容。
我的问题,在架构上,带有绑定事件到选项卡视图。因此,例如:
window.PanelTabView=Backbone.View.extend({
className: 'view panel-tab-view',
el: '#appPanelTabs',
tagName: 'li',
events: {
'click a': 'test'
},
initialize: function() {
},
render: function(panel) {
this.$el.append(this.template(panel.toJSON()));
},
test: function(x) {
console.log(this.cid);
}
});
因此,当单击选项卡时,会为所有选项卡视图触发每个单击事件。
那么,也许我应该将所有选项卡视为一个视图?但我喜欢从模板中的模块化角度来看,每个选项卡都有自己的视图的想法。
或者,也许我错过了关于 Backbone 及其 MVC 式方法的更多内容。
在这种情况下你会怎么做?