1

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

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

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

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

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

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

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

你会推荐什么?

4

1 回答 1

1

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

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

于 2012-04-21T22:07:10.170 回答