即使网址正确,子路径中的Angular5路由器插座也不会一致地呈现组件

时间:2018-02-10 16:07:12

标签: angular5 angular-router router-outlet

我的一个模块中有一个嵌套的路由对象,带有子路由的路由器出口:

const routes: Routes = [
    {
      path: 'portal',
      component: Portal
    },
      children: [
        { path: '', redirectTo: 'meetings', pathMatch: 'full' },
        { path: 'meetings', component: MeetingsListComponent,
          children: [
            { path: '', redirectTo: 'points', pathMatch: 'full' },
            { path: 'points', component: PointsListComponent},
            { path: 'point/:id', component: PointComponent}
          ] 
        }
      ]
    }
];

MeetingsListComponent有一个标签菜单,其中包含一周中的几天,并且每天都会将会议列表呈现为accordion-elements。如果用户打开手风琴,那么MeetingsListComponent的嵌套路由器出口就会将议程点列表呈现为数据集:PointsListComponent。如果用户单击可数据行,则应使用一个议程点的详细视图呈现PointComponent:

onRowClick(e) {
    this.router.navigate(['../point', e.value.obj.id], {relativeTo: this.route});
}

发生以下情况: 浏览器中的url-path从以下位置切换:

http://localhost:4200/portal/meetings/points

http://localhost:4200/portal/meetings/point/24fc3f42-7898-4044-9e24-511460d2001d

这是正确的。

但奇怪的是,PointComponent只是#34;有时候#34;。如果我单击菜单选项卡并且今天或明天更改了数据集,则会渲染数据表,但是通过单击该行,URL将更改而不会在路由器插座中呈现PointComponent。

但是,如果我在标签菜单中转到其他日期,则单击相同的组件(可数据行)将呈现详细视图,即路由器插座中的PointComponent。没有什么不同,它是填充其他数据的相同组件,而且都是。

因此,路由器导航事件似乎工作正常,但路由器插座不能这样做:

Here is a short vid of the routing error in action

我需要深入研究这个问题。

0 个答案:

没有答案