目前我正在使用Angular 2 Beta 8开发一个Web应用程序.现在,当使用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.
加载Component’MyItemsCmp’时,模板的所有元素都将在浏览器中呈现.但是NewItemFormCmp的链接不起作用,控制台中有一个例外.
Uncaught EXCEPTION: Component "MyItemsCmp" has no route config. in [["NewItemForm"] in MyItemsCmp@x:xxx]
在构造函数中注入路由器时,我可以导航到RootUser并使用“导航”导航到给定路由.
如何使用RouterLink指令从二级子组件导航到一级子组件?
谢谢,
菲利普
解决方法:
如果你想改变它应该是根路由
<a[routerLink]='["/NewItemForm"]'