【发布时间】:2016-04-07 15:45:53
【问题描述】:
我有一个父组件 A 和一个子组件 B,A 像这样引用 B:
@RouteConfig([
{
path: '/screen-b/...',
name: 'ScreenB',
component: ScreenBComponent
}
])
B 有一个路由器出口和三个子组件,定义如下:
@RouteConfig([
{
path: '/screen-aa',
name: 'ScreenAA',
component: ScreenAAComponent,
useAsDefault: true
},
{
path: '/screen-bb',
name: 'ScreenBB',
component: ScreenBBComponent
},
{
path: '/screen-cc',
name: 'ScreenCC',
component: ScreenCComponent
}
])
在组件B的模板中,我这样放链接,子组件AA,BB,CC在B的路由器出口中显示得很好:
<a [routerLink]="['ScreenAA']">Screen AA</a>
<a [routerLink]="['ScreenBB']">Screen BB</a>
<a [routerLink]="['ScreenCC']">Screen CC</a>
但是,当我将相同的链接放入 AA、BB 或 CC 中以相互链接时,什么也没有发生(不过,地址栏中的 URL 确实发生了变化)。我猜这是因为 AA、BB、CC 本身没有路由器插座,而这正是 Angular2 想要放置它们的地方。
似乎只能沿着层次结构向下路由,并且总是只能在较低级别的路由器出口中,但永远不会到达同一级别或更高级别。如何实现这个对大多数网站来说至关重要的功能?
我所需要的只是能够在组件内部单击,然后将该组件替换为其他内容,而不是在较低级别的路由器插座中打开某些内容。
【问题讨论】:
标签: angular2-routing