延迟加载模块中的命名插座(角度6.0.5)

时间:2018-06-15 18:47:18

标签: angular

我认为这是用角度6修复的,但要么我缺少某些东西,要么修复不完整。

这是 app.routing:

中的设置....
{
    path: '',
    component: LayoutContainerComponent,
    children: [
      {
        path: 'management',
        loadChildren: 'app/features/management/management.module#ManagementModule'
      }
    ]
  }

LayerContainerComponent只是将视图拆分为标题&内容区。

management.routing

{
    path: '',
    component: ManagementLayoutContainerComponent,
    children: [
      {
        path: 'someroute',
        component: SomeRouteContainerComponent,
        canActivate: [
          SomeGuard
        ]
      },
      {
         path: 'updatemodal',
         component: UpdateModalComponent,
         outlet: 'modal'
      }
   ]
}

ManagementLayoutContainerComponent包含一个常规router-outlet<router-outlet name="modal"></router-outlet>

路线management/someroute上的

我的模板包含:[routerLink]="[{ outlets: { modal: 'updatemodal' } }]"

现在,用例:

  1. 导航至management/someroute
  2. 点击链接到给定的routerlink(上方)
  3. 错误抛出:
  4.   

    错误:无法匹配任何路线。网址细分:   '管理/ someroute'       在ApplyRedirects.push ../ node_modules/@angular/router/fesm5/router.js.ApplyRedirects.noMatchError   (router.js:1359)

    基本上,错误表示它无法匹配已经存在的路线!

    现在,当我悬停该链接时,网址似乎正确:/management/someroute/(modal:updatemodal)

    问题: 我错过了什么,或者这仍然是角度问题吗?

1 个答案:

答案 0 :(得分:0)

使用[routerLink]="[ '', { outlets: { modal: 'updatemodal' } }]