0

我有一個包含多個模塊和組件的項目。目前我正在初始化每個模塊中的AngularFireModule,以便我可以在該模塊下的組件中使用firebase數據庫/認證信息。我覺得這很多時候沒有必要初始化AngularFireModule,並且我不理解某些東西。AngularFireModule在整個angularjs應用程序間共享

//app.module.ts 
@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    FormsModule, 
    BrowserModule, 
    AngularFireModule.initializeApp(firebaseConfig), //<---- 
    AngularFireDatabaseModule 
    ], 
    providers: [AngularFireModule], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

我想到了創建inits AngularFireModule和所有模塊服務/組件可以使用該服務......這時我才發現我對5的服務,跟火力點。這意味着應用程序將初始化Firebase至少5次,每次服務一次。在大型項目中訪問Firebase的最佳方式是什麼?

+1

您可以創建一個共享模塊來初始化您的Firebase,然後所有其他模塊可以只依賴於您的共享模塊 – devqon

回答

0

我瞭解了一些選項。在AppModule中使用它可以使其他子模塊也使用它。同時在一個服務中初始化並使用來自任何其他服務的服務會使初始化代碼位於一個地方。

從角文檔:

AngularJS服務是:

懶洋洋實例化 - 當 應用組件依賴於它AngularJS僅實例化的服務。

單例 - 每個依賴於服務的組件獲取對服務工廠生成的單實例的引用。

相關問題