虽然将路由参数直接映射到 activate() 参数很方便,但它给我带来了参数化模块重用的问题。
走一条路线,例如
{ route: '/user/:id/request(/:requestId)', moduleId: 'requestDetail', title: 'Request Details' }
视图模型将被调用
activate(id,requestId)
现在, requestDetail 模块可以在导航中的不同位置和级别重用,就像这样
父路由器
{ route: '/company/:companyId*users', moduleId: 'someModule', title: 'Request Details' }
子路由器
{ route: '/user/:id/request(/:requestId)', moduleId: 'requestDetail', title: 'Request Details' }
这具有调用 requestDetail vm 的效果
activate(companyId,id,requestId)
这显然是一个问题。有没有办法将传递的参数限制为来自子路由器的参数(这将解决问题)?