东西我已经与Ember路由器最近发现是只允许导航到叶航线 - 航线无子路由。
现在,除非我错误地做事情,然后这似乎是在设计一个bug /错误。
让我们举个例子是这样的:
我有项目的集合,每个项目都有很多的合作者,有了这个我想建立一个三栏布局(如您的标准的桌面电子邮件客户端的东西)的UI,其中左边我有一个项目清单,在点击时项目中间一栏显示的合作者的名单,并点击一个合作者加载其细节到右栏。
现在用路由我希望导航/projects/1
上一个项目点击和到时/projects/1/collaborators/23
上的合作者,当点击。
这里是表示嵌套的路线的第一部分一个路由器:
App.reopen(
Router: Ember.Router.extend(
enableLogging: true
location: 'hash'
root: Ember.Route.extend(
index: Ember.Route.extend(
route: '/'
redirectsTo: 'projects'
)
projects: Ember.Route.extend(
# This route is not routable because it is not a leaf route.
route: '/projects'
connectOutlets: (router) ->
# List projects in left column
router.get('applicationController').connectOutlet('projects', App.projects)
show: Ember.Route.extend(
# This route is routable because it is a leaf route.
route: '/:project_id'
connectOutlets: (router, project) ->
# Render the project into the second column, which actually renders
# a list of collaborators.
router.get('projectsController').connectOutlet('project', project)
)
)
)
)
)
正如你会看到余烬不会调用updateRoute(设置URL),直至过渡到root.projects.show
因为该行的https://github.com/emberjs/ember.js/blob/master/packages/ember-路由/ lib目录/ routable.js#L81
有没有其他人做过这样的事? 有没有更好的方法来设计呢?