BackboneJS根级别视图

时间:2012-04-19 20:17:09

标签: javascript backbone.js requirejs amd

如果您在“几乎”每个屏幕上都有一些根级HTML,那么您将在何处/如何组织这个?

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

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

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

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

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

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

你会推荐什么?

1 个答案:

答案 0 :(得分:1)

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

路由器通常是View Controller的不良选择。相反,我建议检查Marionette,它可以很好地处理这类事情。您可以使用application events实现页面导航控件,您可以连接主视图以进行侦听,然后动态切换区域。查看Marionette文档底部的优秀示例应用程序,了解起点。