我有:
First-Child的路径及其参数: http://localhost/mpm/0776452c
第二子路径应该是: http://localhost/mpm/0776452c/settings
我的问题是我想把第二子组件的链接放在主组件中。
我试过这种方式: [routerLink] ="' ./设置'" 但由于某种原因,生成的链接最后有圆括号: http://localhost/mpm/0776452c/(settings)
您是否知道如何以简单的方式解决这个问题,因为现在我生成了Second-Child组件的完整路径?
谢谢!
修改: Second-Child组件的链接放在Main组件中。 这个想法是我在First-Child组件(http://localhost/mpm/0776452c)中想要点击[routerLink] ="' ./ settings'"它位于主要组件中,因此我可以转到http://localhost/mpm/0776452c/settings
编辑2 - 我的路由器配置
{
path: '',
component: MainComponent,
canActivate: [AuthGuard],
children: [
{
path: 'mpm/:id',
component: FirstChild,
canActivate: [AuthGuard]
},
{
path: 'mpm/:id/settings',
component: SecondChild,
canActivate: [AuthGuard]
}
]
}
答案 0 :(得分:1)
如果您使用" ./ settings"作为您的路线,它将尝试导航到FirstComponent的孩子,您需要使用" ../ settings",但即使这样也不会有效。
您可能需要重新修改路线工作方式,并使SecondComponent成为路线中FirstComponent的子项。
如果您尝试导航到../settings,父路由将是/ mpm,因此它将解析为/ mpm / settings,而不是/ mpm /:id / settings。唯一可行的方法是将routerLink更改为:
routerLink="../{{id}}/settings"
P.S,如果你不想绑定一个值,你可以省略括号。这样你就不必用引号括起你的价值。