我有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?以及如何使用?
答案 0 :(得分:2)
试试这个
<a [routerLink]="['/Profile' , 'Home']" href="#">home</a>
如我所见,您已在主要组件中定义了Profile
路由,然后Profile
具有子组件,即:Home
。
因此,发生异常是因为:
Profile
表示在此组件的routeConfig中查找路由。
但您需要在routerLink中执行/Profile
告诉它在根目录中寻找Profile
路由(主要组件)&#39; routeConfig