无法在组件内部使用 [routerLink]

cant use [routerLink] inside the component

我有 2 个 <router-outlet>,一切正常,我的 RouteConfig 在配置文件组件中:

@Component({
    selector : "profile",
    templateUrl: '/client/tmpl/profile.html',
    directives: [ ROUTER_DIRECTIVES],
})

@RouteConfig([
     {name: 'Home', component: homeProfile ,path: '/' ,useAsDefault:true},
     {name: 'Credit', component: credit ,path: '/credit' },
     {name: 'BuyCredit', component: buyCredit ,path: '/buycredit' }
])

我的问题是当我想在 credit 组件中使用 [routerLink] 时抛出一个错误: "credit" 没有路由配置。在 [null]

这是我的 credit 组件:

import {ROUTER_DIRECTIVES,RouteConfig} from 'angular2/router';
 @Component({
    selector : "credit",
    templateUrl : "client/tmpl/profile/credit.html",
    directives: [ROUTER_DIRECTIVES]

})

模板:

<ul>
                                 <li><a  [routerLink]="['Profile' , 'Home']"  href="#">home</a> </li>
</ul>

为什么我应该在 credit 组件中使用 RouteConfig?以及如何使用?

试试这个

<a [routerLink]="['/Profile' , 'Home']"  href="#">home</a>

如我所见,您已经在主组件中定义了 Profile 路由,然后 Profile 有子组件,即:Home.

所以,异常发生是因为:

    routerLink中的
  • Profile表示在本组件的routeConfig中查找路由。

  • 但您需要在 routerLink 中执行 /Profile 以告诉它在根(主要组件)的 routeConfig

    Profile 中查找路由=31=]