【发布时间】:2013-03-06 20:34:31
【问题描述】:
我有一个Layout,它有几个标签。单击这些选项卡之一将show 页面内容region 中的适当复合视图。在不同的选项卡之间来回导航后,我注意到复合视图已经失去了在集合重置和模型更改时呈现的本机绑定。
有没有办法在第二次显示视图时重新绑定在复合视图的_initialEvents 中使用的事件,或者我应该在每个show 一个选项卡时创建一个新的复合视图?
目前,我在Layout 的initialize 中创建所有视图,然后在单击选项卡时将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();
},
【问题讨论】:
-
是的,我认为每次必须更改内容时都应该创建一个新的复合视图 istance,这是因为当您在区域上调用 show 方法时,它会小心关闭和取消绑定任何旧视图那是附属于该地区的。所以我认为当你再次将它附加到该区域时,它错过了一些事件......
标签: backbone.js marionette backbone-events