2017-11-27 18 views
6

나는 내 프로젝트에 대해 다음과 같은 모듈이 필요합니다. TransferHttpCacheModule와순환 종속성 오류 TransferHttpCacheModule, LocalizeRouterModule, TranslateModule

TranslateModule은 - LocalizeRouterModule와 TranslateModule 작동 -

작동하지만이 세 가지를 모두 가져올 때 그것은 종속성 순환의 원인.

주기적 종속성을 인스턴스화 할 수 없습니다! ApplicationRef ("[ERROR ->]") : 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 { } 

답변

4

당신은 할 필요가 없습니다 :

문제의 재생을위한 plnkr을 확인 ./[email protected]:-1

에서 NgModule AppBrowserModule에 주기적인 Dependency를 일으키는 프로 바이더에 인젝션 할 수 있기 (위해) 때문에, LocalizeRouterModule를 임포트하에두고 있습니다. 그것은 다음과 같이

수정,

@NgModule({ 
    imports: [ 
     HttpClientModule, 
     BrowserModule, 
     BrowserAnimationsModule, 
     TransferHttpCacheModule, 
     TranslateModule.forRoot({ 
      loader: { 
      provide: TranslateLoader, 
      useFactory: (createTranslateLoader), 
      deps: [HttpClient] 
      } 
     }), 

     RouterModule.forRoot([]) 
    ], 
    declarations: [ 
     AppComponent, 
     LocalizeRouterPipe 
    ], 
    providers: [TranslateModule ], 
    bootstrap: [AppComponent] 
}) 

PLUNKER

당신이 작업의 repo 필요하면, 당신의 저장소에 보이는 example

+0

로이보고 볼이있다 Angular 응용 프로그램의 브라우저 측에서 LocalizeRouterModule을 가져 오려고합니다. 내가 직면하고있는 문제는 서버 쪽이 아니라 브라우저에 있습니다. 너는 내게 멍청이를 줄 수 있니? –

+0

첨부 된 플 런커를 확인 했습니까? 서버 측에서 무엇을 의미합니까? – Sajeetharan

+0

첨부 한 것과 동일한 플러 커를 연결했습니다. 저장소에서 app.module.browser.ts가 LocalizeRouterModule을 가져오고 app.module.ts가 TranslateModule 및 TransferHttpCacheModule을 가져 오는 것을 볼 수 있습니다. 이것은 정확히 내가 일하려고 노력하고 있지만 사이클 의존성 오류를 일으키는 것입니다. 네가 나에게 일하는 척탄을 줄 수 있니? –