【发布时间】:2013-11-05 09:30:50
【问题描述】:
随着我的应用程序的增长,我觉得需要更结构化的路由器/控制器设置。 Marionette 文档提到以下内容:
建议您将控制器对象划分为相关功能的小块,并拥有多个路由器/控制器,而不是只有一个巨大的路由器和控制器。
如果有这种结构的例子,那就太好了。假设我有一个由三个部分组成的网站;人物、媒体和文章。理想情况下,我希望每个部分都有路由器/控制器。像这样的:
App
-- AppRouter
-- AppController
-- AppLayout
-- PeopleRouter
-- PeopleController
-- PeopleLayout
-- MediaRouter
-- MediaController
-- MediaLayout
-- ArticleRouter
-- ArticleController
-- ArticleLayout
对我来说非常不清楚的是如何让路由(“/people/detail/1”)由另一个路由器而不是 AppRouter 处理。似乎我必须为每个部分创建模块,但这是否适用于 RequireJS?使用两种不同的模块似乎有点奇怪……
如果有人能指出我正确的方向,那就太好了,我在网上找到的所有例子都让我有点困惑。
【问题讨论】:
-
我和你有同样的困惑,因为没有明确说明你可以(并且应该)拥有多个
AppRouter。 Marionette Modules 是一种管理命名空间和隐藏数据/功能的方法。我仍在尝试解决所有这些问题,但我认为更好的目录结构将如 David Sulc 书籍的代码所示:github.com/davidsulc/marionette-gentle-introduction/tree/master/…apps 目录中的每个应用程序都有自己的AppRouter。
标签: marionette