延迟加载模块中的角共享模块

时间:2018-07-05 17:19:48

标签: angular lazy-loading angular6 angular-router

我的应用程序有2个主要模块

-- app module
-- dashboard module //lazy loaded

app模块具有容器homeComponent,该容器容纳navbarComponentheroComponent 我想将navbarComponent导入到dashboard module的子组件中,因此我将导航栏作为共享模块,导出了navbar并在app.module和仪表板模块。

这是app.module路由的方式

const routes: Routes = [
  {
    path: '',
    component: HomeComponent
  },
  {
    path: 'tours',
    loadChildren: './dashboard/dashboard.module#DashboardModule'
  },
  {
    path: '**',
    redirectTo: ''
  }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})

这是用于延迟加载的模块

const routes: Routes = [
  {
    path: '',
    component: DashboardComponent,
    runGuardsAndResolvers: 'always',
    resolve: {
      tours: PreloadGuard
    }
  },
  {
    path: 'tourDetails',
    component: DetailsComponent,
    runGuardsAndResolvers: 'always',
    resolve: {
      selectedtour: DetailsGuard
    }
  },
  {
    path: '**',
    redirectTo: ''
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})

路由器出口在appComponent中,在路线”上,它可以很好地加载家庭中的导航栏。 但是一旦我导航到应该加载延迟加载模块的'/ tours',它就会记录一个错误,即HomeComponent不属于任何模块!!

0 个答案:

没有答案