gpt4 book ai didi

backbone.js - Backbone.marionnette - 重新绑定(bind)事件与创建新 View

转载 作者:行者123 更新时间:2023-12-04 15:59:32 26 4
gpt4 key购买 nike

我有一个 Layout有几个标签。单击这些选项卡之一将show页面内容中的适当复合 View region .在不同的选项卡之间来回导航后,我注意到复合 View 已经失去了在集合重置和模型更改时呈现的 native 绑定(bind)。

有没有办法重新绑定(bind) _initialEvents 中使用的事件?第二次显示 View 时的复合 View ,或者我应该每隔 I show 创建一个新的复合 View 标签?

目前我正在initialize 中创建我的所有 View 。我的Layout然后使用 show单击选项卡时的 View 。

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();
},

最佳答案

每次从选项卡切换到选项卡时,您不必创建布局/项目/复合/ Collection View ,相反,您可以按照您的方式将内容保存在变量中,您遇到的问题是变量每次要呈现内容时都会重新声明。
解决方案是您必须验证该变量(this.places_page)是否已声明,如果没有将其附加到 View 中,因此当您多次调用它时,它将保持相同的布局 View 没有任何问题,只需注意在渲染时主视图(包含区域的 View )嵌套的 subview (在区域中)将丢失,直到通过它们进行新的导航。

initialize: function(){
_.bindAll(this);

// You can asign a diferent variable for each view so when you call show_places_page it will render with the same view.

if (!this.places_page){
this.places_page = new Places_Layout();
}

// other tab
if (!this.other_page){
this.other_page = new OtherPage_Layout();
}

},

show_places_page: function(){

this.content.show(this.places_page);
this.places_page.delegateEvents();
},

关于backbone.js - Backbone.marionnette - 重新绑定(bind)事件与创建新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com