加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 延迟加载的模块如何继承App Modules声明?

发布时间:2020-12-17 07:12:23 所属栏目:安全 来源:网络整理
导读:我有一个需要使用组件的延迟加载模块.我已将其添加到应用程序模块声明中,并期望这应该使声明的组件应用程序范围广泛. 虽然Angular无法识别延迟加载模块中的组件.我尝试将它添加到两个模块声明中然后收到警告,要求在app.module和lazyLoaded.module上方的更高
我有一个需要使用组件的延迟加载模块.我已将其添加到应用程序模块声明中,并期望这应该使声明的组件应用程序范围广泛.

虽然Angular无法识别延迟加载模块中的组件.我尝试将它添加到两个模块声明中然后收到警告,要求在app.module和lazyLoaded.module上方的更高模块中添加声明.

例如(nameOfModule /组件)

Error: Type (DeclareMeComponent) is part of the declarations of 2 modules: (AppModule) and (LazyLoadedModule)! Please consider moving (DeclareMeComponent) to a higher module that imports AppModule and (LazyLoadedModule). You can also create a new NgModule that exports and includes (DeclareMeComponent) then import that NgModule in (AppModule) and (DeclareMeComponent).

什么高于app.module?以及如何让延迟加载的模块继承/使用声明的组件以及app模块?

解决方法

高于AppModule将是SharedModule.在这里,您可以定义将在AppModule和任何延迟加载的模块中使用的组件.

@NgModule({
  imports: [
    CommonModule
  ],declarations: [
    DeclareMeComponent
  ],exports: [
    DeclareMeComponent,CommonModule
  ]    
})
export class SharedModule {}

在这里,您将声明并导出组件,指令,管道,整个shebang.您将在整个应用程序中使用的核心构建块.在这里,您可能还会导入和导出CommonModule.它就像BrowserModule,但是你可以在应用程序中多次导入.

您现在可以通过导入AppModule和任何其他模块来使用共享组件.

@NgModule({
  imports: [
    BrowserModule,SharedModule
  ]   
})
export class AppModule {}

如您所见,无需在AppModule中声明DeclareMeComponent,因为它是从较高的SharedModule导入的

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读