微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AppModule 或 FeatureModule 中的 Angular 导入模块

如何解决AppModule 或 FeatureModule 中的 Angular 导入模块

像 HttpClientModule 这样的常见模块是否应该在每个功能模块中导入 - 还是应该在 AppModule 中只导入一次?

我在想如果每个功能模块都导入HttpClientModule,如果AppComponent导入多个这些功能模块,它会被多次加载吗?而如果 HttpClientModule 只会在 AppModule 中导入,是不是就失去了功能模块的可重用性——因为它需要导入 HttpClientModule 才能独立?

功能模块:

@NgModule({
      declarations: [AComponent],imports: [
        CommonModule,FormsModule,HttpClientModule
      ],exports: [
        AComponent
      ]...

应用模块:

@NgModule({
  declarations: [
    AppComponent
  ],imports: [
    browserModule,CoreModule,HttpClientModule,FeatureModule
  ]...

解决方法

您应该使用 Angular 服务,并将 provideIn 设置为“root”。 然后将该服务注入到应该使用它的每个组件中。 这样,该代码只会导入到您的包中一次。

,

制作共享模块,将HttpClientModule等常用模块放入其中 然后在每个功能模块中导入共享模块

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。