在多组件中使用组件延迟加载angular?

Use component lazy loading in multi components angular?

我有三个组件(NavbarComponent , IndexComponent , PoweredComponent )所以我使用 lazy loading 我需要在多个组件中使用组件,我不知道如何在惰性模块中声明组件以使用它。我将向您展示不同文件的一些相关部分:

  1. 导航栏组件
    navbar.module.ts
  declarations: [NavbarComponent],
  imports: [
    CommonModule
  ],
  exports: [NavbarComponent]
})
  1. 索引组件
    Index.module.ts
  declarations: [IndexComponent ,NavbarComponent],
  imports: [
    CommonModule,
    IndexRoutingModule,
  ],
})

index.component.html

<app-navbar></app-navbar>
<div>...</div>

在索引中显示导航栏

  1. PoweredComponent
    powered.module.ts
@NgModule({
  declarations: [PoweredComponent,NavbarComponent],
  imports: [
    CommonModule,
    PoweredRoutingModule,
  ], 
})

powered.component.html

<app-navbar></app-navbar>
<div>...</div>

powered.component.html 中没有显示导航栏

issue <app-navbar></app-navbar> not dispaly in multi components can show jsut in index components

请帮帮我???
感谢阅读!!!

您不能在多个 NgModule 中声明一个组件(使用 declarations)。 在您的情况下,当您的 NavbarModule 导出 NavBarComponent 时,您只需在 PoweredModuleIndexModule 中导入模块以使组件在这些模块中可用。

IndexModule为例:

 declarations: [IndexComponent],
  imports: [
    CommonModule,
    IndexRoutingModule,
    NavbarModule
  ],
})

Index.module.ts

  declarations: [IndexComponent],
  imports: [
    CommonModule,
    IndexRoutingModule,
    NavbarModule
  ],
})

powered.module.ts

@NgModule({
  declarations: [PoweredComponent],
  imports: [
    CommonModule,
    PoweredRoutingModule,
    NavbarModule
  ], 
})