我有一个主人/细节情况。我想雇用一个儿童路由器,这样我就可以(a)充分利用历史模块,(b)只触发孩子的入口过渡。这是我的设置:
// configure the shell router
router.map([{
...
},{
route: 'users*edit',
title: 'User List',
moduleId: 'viewmodels/users'
}]).activate();
this.router = router
.createChildRouter()
.makeRelative({ fromParent: true })
.map({ route: ':id', moduleId: 'viewmodels/edit' })
当我导航到#/users/5
时,它的工作非常出色。但是,当我按预期导航到#/users
时,会触发未找到的路线,取消导航,然后将我返回#/users/5
。如何在未找到路径时将其配置为禁用子视图?理想情况下,我想要这样的事情:
this.router = router
.createChildRouter()
.makeRelative({ fromParent: true })
.map([
{ route: ':id', moduleId: 'viewmodels/edit' },
{ route: '', moduleId: null }
])
路由器将成功导航到''路由,但null参数将指示它只是清空路由器绑定处理程序。