Chr*_*row 7 javascript backbone.js backbone-events backbone-views marionette
无法显示,隐藏,然后重新显示木偶布局.我相信这个问题也适用于常规的Backbone Views和Marionette ItemViews.
总之,我有一个父视图.初始化时,它会创建两个子布局,用作选项卡内容.问题是,当显示来自一个选项卡的选项卡内容时,将显示来自另一个选项卡的内容,当再次显示原始选项卡内容时,事件不再起作用.
子布局initialize在父布局的功能中创建并重新使用,因为当导航移回它们时需要保留它们的状态.
这是一个示例应用程序,演示了我在说什么:
非常感谢!
问题是您没有创建子布局的新实例,而只是重复使用您在主布局中启动的子布局。因此,当您更改区域的内容时,事件将作为 Marionette 视图的 close() 函数的一部分解除绑定。
您应该像这样更改初始化函数:
initialize: function(){
_.bindAll(this);
// CREATE SUB LAYOUTS
this.tab1Layout = B.tab1Layout;
this.tab2Layout = B.tab2Layout;
},
Run Code Online (Sandbox Code Playgroud)
并以这种方式调用布局:
// EVENT HANDLERS
on_show_tab_1_click: function(event){
this.content.show(new this.tab1Layout());
},
on_show_tab_2_click: function(event){
this.content.show(new this.tab2Layout());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |