6 backbone.js backbone-events marionette
我有一个Layout有几个标签.单击其中一个选项卡将show在页面内容中显示相应的复合视图region.在不同选项卡之间来回导航后,我注意到复合视图已丢失其原始绑定,以便在集合重置和模型更改时呈现.
有没有办法在_initialEvents第二次显示视图时重新绑定复合视图中使用的事件,还是应该每次创建一个新的复合视图show?
目前,我在创造我的所有观点initialize我的Layout,然后用show与被点击分页时的观点.
initialize: function(){
_.bindAll(this);
// Tabs
this.places_page = new Places_Layout();
},
show_places_page: function(){
this.content.show(this.places_page);
this.places_page.delegateEvents();
},
Run Code Online (Sandbox Code Playgroud)
对我来说这听起来不是最好的方法。
您应该使用布局的区域管理器来显示视图,而不需要您定义的函数。
我会采用这种方法
var view = new CustomView();
layout.content.show(view);`
Run Code Online (Sandbox Code Playgroud)
然后稍后:
var newView = new SecondCustomView();
layout.content.show(newView);
Run Code Online (Sandbox Code Playgroud)
如果您想继续走现在的路,那么您最好使用这种方法:
initialize: function () {
_.bindAll(this);
},
show_places_page: function () {
var placesLayout = new Places_Layout();
this.content.show(placesLayout);
}
Run Code Online (Sandbox Code Playgroud)
那有意义吗?
如果没有看到更多的结构,很难提出最佳的行动方案。
您在 中创建视图有什么原因吗initialize?
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |