我需要使用aurelia路由器将一些设置添加到子路由中。
如果我将 settings 参数添加到主路径,当导航管道通过授权步骤时,我可以使用 navigationInstruction检索设置。 config.settings 属性。
导航到子路线时, authorizeStep 会获取主路线的路线信息及其设置以及有关子路线的一些信息但没有设置......
例如: 如果我在 app.ts
中定义了以下主要路线{name: 'user', settings: {bla: 'user'}...}
以及user.ts中定义的以下子路由:
{name: 'useredit', settings: {bla: 'edit'}...}
无论我导航到用户还是 useredit 路由,我总是会得到以下设置对象: {bla:'user'} as导航指令与主路线有关。
导航到编辑时如何获取 {bla:'edit'} 设置信息?
我当然希望答案不仅仅是“儿童路线无法进行设置”...... :)
谢谢!
答案 0 :(得分:2)
通过致电navigationInstruction.getAllInstructions()
,您应该获得2条指令。第一个与主路由相关,第二个与子路由相关,其中包含设置:{bla: 'edit'}
。例如:
class AuthorizeStep {
run(navigationInstruction, next) {
// all the instructions here!
let instructions = navigationInstruction.getAllInstructions();
// ... do something
return next();
}
}
希望这有帮助!