Angular - 如何导航到.ts文件中的命名路由器插座

时间:2018-04-19 08:33:28

标签: angular

我有侧导航,在侧面导航中我已经命名了路由器插座。我试图将“旁边”命名的路由器插座分配给名为“top-words-aside”的子组件。但是,它无法找到网址段。

reports.component.html

<mat-sidenav #rightsidenav position="end" fixedInViewport="fixed">
    <router-outlet name="aside"></router-outlet>
</mat-sidenav>

reports.routing.module.ts

const routes: Routes = [
    {
        path: '',
        component: ReportsComponent
    },
    {
        path: ':id',
        component: ReportDetailComponent,
        resolve: {
            job: JobResolver,
            report: ReportResolver,
            activity: ActivityResolver,
        },
        children: [
            {path: 'top-words-aside', component: TopWordsAsideComponent, outlet: 'aside'},
        ]
    }
];

reports.component.ts

open() {
    this.rightSideNavService.open();
    this.router.navigate([{ outlets: { aside: ['top-words-aside'] }}]);
}

但是我收到以下错误。

  

错误错误:未捕获(在承诺中):错误:无法匹配任何路由。   网址段:'top-words-aside'错误:无法匹配任何路由。网址   细分:'top-words-aside'

1 个答案:

答案 0 :(得分:0)

你在你的模块中导入路由器吗?

你可以定义

  

私人路线:ActivatedRoute

在构造函数中。

在开放功能中

  

this.router.navigate([{outlets:{aside:['top-words-aside']   }}],{对于relativeTo:this.route});