【发布时间】:2016-08-02 16:01:00
【问题描述】:
我有一个左侧导航组件,它被导入到我的主 AppComponent 中。我正在尝试实现的是能够单击左侧导航中的链接,并让它在父 AppComponent 的路由器出口中加载一个 DataComponent。
我的父 AppComponent 如下所示:
import { LeftNavComponent } from 'app/left-nav/left-nav.component';
import { DataComponent } from 'app/data/data.component';
@Component({
selector: 'main',
template: '<left-nav></left-nav><router-outlet></router-outlet>',
directives: [ROUTER_DIRECTIVES, LeftNavComponent]
})
@RouteConfig([
{path:'/data', name: 'Data', component: DataComponent}
])
我的孩子 LeftNavComponent 看起来像这样:
@Component({
selector: 'left-nav',
directives: [ ROUTER_DIRECTIVES ],
providers: [ ROUTER_PROVIDERS ],
template: '<a [routerLink]="[ 'Data' ]">Show Me Data</a>'
})
我尝试在路由器插座中加载的 DataComponent 如下所示:
@Component({
selector: 'data',
templateUrl: 'This is where the data will be'
})
当我单击链接时,url 更改为 /data,但似乎 DataComponent 并未实际加载,因为“这是数据所在的位置”文本没有出现。
我已验证 RouteConfig 工作正常,因为如果我将 router-link 放入 AppComponent 模板中会出现文本,因此问题似乎是 router-link 在子组件中。
任何帮助都会很棒。
【问题讨论】: