2017-11-27 21 views
6

tôi cần các module sau đây để dự án của tôi:Cyclic lỗi phụ thuộc TransferHttpCacheModule, LocalizeRouterModule, TranslateModule

TranslateModule LocalizeRouterModule TransferHttpCacheModule

Bằng cách nào đó sự kết hợp này của module đang tạo ra một sự phụ thuộc theo chu kỳ.

TranslateModule với TransferHttpCacheModule - công trình TranslateModule với LocalizeRouterModule - công trình

Nhưng khi tôi nhập cả ba nó gây ra một chu kỳ phụ thuộc.

Không thể khởi tạo phụ thuộc tuần hoàn! ApplicationRef ("[LỖI ->]"): trong NgModule AppBrowserModule trong ./[email protected]:-1

Kiểm tra plnkr cho sinh sản của vấn đề: 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 { } 

Trả lời

4

Bạn không cần phải có LocalizeRouterModule theo nhập khẩu vì nó có thể được tiêm vào các nhà cung cấp đang gây ra sự phụ thuộc chu kỳ.

Khắc phục sự cố như sau,

@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

nếu bạn cần một repo làm việc, xem xét điều này như một example

+0

Tôi nhìn kho của bạn và thấy rằng có bạn đang nhập LocalizeRouterModule ở phía trình duyệt của ứng dụng Góc. Vấn đề tôi đang gặp phải không phải ở phía máy chủ mà là trên trình duyệt. Bạn có thể cho tôi một plunker làm việc? –

+0

bạn có kiểm tra thiết bị đính kèm không? ý bạn là gì ở phía máy chủ? – Sajeetharan

+0

Bạn đã đính kèm cùng một plunker khi tôi đính kèm. Tôi có nghĩa là trong kho của bạn, tôi thấy rằng app.module.browser.ts đang nhập LocalizeRouterModule và app.module.ts đó đang nhập TranslateModule và TransferHttpCacheModule. Đây là chính xác những gì tôi đang cố gắng để làm việc, nhưng nó gây ra một lỗi phụ thuộc chu kỳ. Bạn có thể cho tôi một plunker làm việc? –

Các vấn đề liên quan