【问题标题】:BackboneJS root level viewsBackboneJS 根级视图
【发布时间】:2012-04-19 20:17:08
【问题描述】:

如果您在“几乎”每个屏幕上都有一些根级 HTML,您将在哪里/如何组织它?

我正在使用主干样板和 requirejs。其中一个根级视图是一个全局导航元素,可以随时从屏幕底部调用。

这被组织在一个具有模型的模块中(用于可见性、选定状态、点击日志等)。该应用程序存储在:

ClientName.app = _.extend( { rootViews: {} }, Backbone.Views);

然后在我的路由器初始化方法中,我有:

ClientName.app.rootViews.globalNav = new GlobalNav.Views.BottomView({ model: new GlobalNav.Models.Bottom()});

它工作正常,但随着功能的增长,路由器初始化方法与类似的根视图、子路由器等变得失控。我完全错过了什么吗?

你会推荐什么?

【问题讨论】:

  • 为什么不将全局导航添加到您的布局中?

标签: javascript backbone.js requirejs amd


【解决方案1】:

您查看Marionette.Region 了吗?这允许您将视图分配给特定的 div,例如您的页脚。您可以将应用程序的主体区域定义为另一个区域,当您导航到不同的页面时,您可以动态地换出该区域。

对于视图控制器来说,路由器通常是一个糟糕的选择。相反,我建议查看 Marionette,它可以很好地处理这种事情。您可以使用application events 实现页面导航控件,您可以连接主视图以进行监听,然后动态交换区域。查看 Marionette 文档底部的优秀示例应用程序以获得起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多