目前我正在使用 Angular 2 Beta 8 开发一个网络应用程序。现在我在使用 routerLink 指令时遇到了嵌套路由的问题。
路由器层次结构是:
AppCmp
|-> NewItemFormCmp
|-> UserDashboardCmp
|-> MyItemsCmp
涉及的组件是:
@Component({
...
})
@RouteConfig([
{component: NewItemFormCmp, name: 'NewItemForm', path: '/item/new'},
{component: UserDashboardCmp, name: 'UserDashboardCmp', path: '/me/...', useAsDefault: true}
])
export class AppCmp {
}
@Component({
...
})
@RouteConfig([
{component: MyItemsCmp, name: 'MyItemsCmp', path: '/items', useAsDefault: true}
])
export class UserDashboardCmp {
}
@Component({
template: `
...
a([routerLink]='["NewItemForm"]'
...
`
})
export class MyItemsCmp {
}
到 MyItemsCmp 的嵌套路由工作得很好。现在我想在 MyItemsCmp 中实现一个按钮,以使用组件模板中所示的 routerLink 指令导航到 NewItemFormCmp。
加载组件“MyItemsCmp”时,模板的所有元素都会在浏览器中呈现。但是 NewItemFormCmp 的链接不起作用,控制台中出现异常。
Uncaught EXCEPTION: Component "MyItemsCmp" has no route config. in [["NewItemForm"] in MyItemsCmp@x:xxx]
在构造函数中注入路由器时,我可以导航到 RootUser 并使用“导航”导航到给定的路由。
如何使用 RouterLink 指令从二级子组件导航到一级子组件?
谢谢,菲利普
原文由 PS1290 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想改变根路由,它应该是