gpt4 book ai didi

javascript - Backbone : Singleton views?

转载 作者:行者123 更新时间:2023-12-02 19:30:02 25 4
gpt4 key购买 nike

我有几个不同的 View ,它们大多是像(布局组件、布局、主视图)那样构建的。

当我现在在不同 View 之间切换时,整个页面必须重新渲染。

至少在“窗口”中缓存布局 View 并重新加载它们不是更好吗?

类似于主干 View 的单例模式?

我该怎么做?很简单:

window.MainLayoutView || window.MainLayoutView = new MainLayoutView({ el: 'div.main' });

够了吗?

还有什么我需要考虑的吗?

最佳答案

是的,还有更多需要担心的事情。如果你这样做:

window.MainLayoutView.render();
$(x).html(window.MainLayout.el);
// And later...
$(x).html(someOtherView.el);
// And later still...
$(x).html(window.MainLayout.el);

您会发现window.MainLayout内的所有事件都消失了。如果您想缓存实例化 View 并将其换入换出,则必须安排 delegateEvents调用以重新绑定(bind) View 层次结构中的所有事件。

比较这两个示例的行为,您就会发现问题:

通常,您不必费心尝试缓存 View ,只需 remove它们并根据需要重新创建它们。

关于javascript - Backbone : Singleton views?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11599645/

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