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

angular – 循环依赖性错误TransferHttpCacheModule,LocalizeRou

发布时间:2020-12-17 07:10:25 所属栏目:安全 来源:网络整理
导读:我的项目需要以下模块: TranslateModule LocalizeRouterModule TransferHttpCacheModule 不知何故,这种模块组合正在创建循环依赖. TranslateModule与TransferHttpCacheModule – 有效 TranslateModule与LocalizeRouterModule – 工作 但是当我导入所有三个
我的项目需要以下模块:

TranslateModule
LocalizeRouterModule
TransferHttpCacheModule

不知何故,这种模块组合正在创建循环依赖.

TranslateModule与TransferHttpCacheModule – 有效
TranslateModule与LocalizeRouterModule – 工作

但是当我导入所有三个时,它会导致依赖循环.

无法实例化循环依赖! ApplicationRef(“[ERROR – >]”):在./AppBrowserModule@-1:-1中的NgModule AppBrowserModule中

检查plnkr以重现问题:https://plnkr.co/edit/qlUQ866JzTa3JtFgSAIO?p=preview

@NgModule({
imports: [
    HttpClientModule,BrowserModule,BrowserAnimationsModule,TransferHttpCacheModule,TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,useFactory: HttpTranslationLoaderFactory,deps: [HttpClient]
      }
    }),LocalizeRouterModule.forRoot([],{
      parser: {
        provide: LocalizeParser,useFactory: HttpLoaderFactory,deps: [TranslateService,Location,LocalizeRouterSettings]
      }
    }),RouterModule.forRoot([])
],declarations: [
    AppComponent
],providers: [

],bootstrap: [AppComponent]
}) export class AppModule { }

解决方法

您不需要在导入下使用LocalizeRouterModule,因为它可以注入到导致循环depdendency的提供程序.

修复如下,

@NgModule({
    imports: [
        HttpClientModule,TranslateModule.forRoot({
          loader: {
            provide: TranslateLoader,useFactory: (createTranslateLoader),deps: [HttpClient]
          }
        }),RouterModule.forRoot([])
    ],declarations: [
        AppComponent,LocalizeRouterPipe
    ],providers: [TranslateModule  ],bootstrap: [AppComponent]
})

PLUNKER

如果你需要一个工作回购,请将其视为example

(编辑:李大同)

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

    推荐文章
      热点阅读