编程语言
首页 > 编程语言> > javascript – Angular 2在子节点中添加指向根路由器的routerLink

javascript – Angular 2在子节点中添加指向根路由器的routerLink

作者:互联网

目前我正在使用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"]'

标签:javascript,angular,routing,angular2-routing,router
来源: https://codeday.me/bug/20191002/1843441.html