gpt4 book ai didi

javascript - 重新渲染后的 Marionette ItemView 事件

转载 作者:行者123 更新时间:2023-12-03 16:42:49 25 4
gpt4 key购买 nike

我第一次玩 Marionette 。重新呈现 ItemView 后,它们的事件未触发。简单示例:

App = new Marionette.Application;

App.addRegions({
headerRegion: '#header',
contentRegion: '#content',
});

App.addInitializer(function () {
this.Views = {
MainMenu : new MainMenuView(),
ContentOne : new ContentOneView(),
ContentTwo : new ContentTwoView(),
};
});

App.addInitializer(function () {
var self = this;
var eva = self.vent;
eva.listenTo(self.Views.MainMenu, 'content1', function () {
self.contentRegion.show(self.Views.ContentOne);
});
eva.listenTo(self.Views.MainMenu, 'content2', function () {
self.contentRegion.show(self.Views.ContentTwo);
});
});

App.on('start', function () {
var self = this;
self.contentRegion.show(self.View.ContentOne);
});

App.start();

重新渲染 ContentOneView 和 ContentTwoView 后,它们的事件没有触发。我做错了什么?

最佳答案

您遇到的问题是 region.show() 将关闭当前占据该区域的所有 View 。这样做会取消委托(delegate) View 的事件。在初始 region.show() 之后,您应该手动调用 View 上的渲染。

可以看到this explained here和一个问题 discussing it here .

关于javascript - 重新渲染后的 Marionette ItemView 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17688608/

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