2017-06-12 122 views
1

我需要有一些设置使用aurelia路由器添加到子路线。aurelia儿童路线与“设置”参数

如果我的设置参数添加到主路,当导航管道穿过授权步,我可以使用navigationInstruction.config.settings属性检索设置。

当导航到一个孩子的路线,在authorizeStep获得的主要途径的路由信息​​,其设置和对孩子的路线,但没有设置一些信息...

例如: 如果我在定义主要有以下几个途径app.ts

{name: 'user', settings: {bla: 'user'}...} 

和user.ts定义以下子路线:

{name: 'useredit', settings: {bla: 'edit'}...} 

无论我浏览到用户USEREDIT路线,我总是得到以下设置对象:{BLA:“用户”}作为导航指令涉及到的主要途径。

如何获取{bla:'edit'}设置信息导航到编辑

我当然希望答案将不只是“子路由不能设置” ... :)

的感谢!

+1

通过调用'navigationInstruction.getAllInstructions()',你应该得到2条指令。第一个与主要路线相关,第二个与子路线相关,其中包含“设置:{bla:'edit'}'。这能解决你的问题吗? –

+0

太棒了!我不知道这个功能,它完全解决了我的问题!如果您将您的评论转换为答案,我会很乐意接受它。谢谢! – Gaet

回答

2

致电navigationInstruction.getAllInstructions(),您应该得到2条说明。第一条涉及主要路线,第二条涉及子路线,其中包含设置:{bla: 'edit'}。例如:

class AuthorizeStep { 
    run(navigationInstruction, next) { 
    // all the instructions here! 
    let instructions = navigationInstruction.getAllInstructions(); 
    // ... do something 
    return next(); 
    } 
} 

希望这有助于!