2016-11-03 1 views
1

forRootの使い方は分かりません。私のアプリでforRootでの設定データの使用方法

私はAppComponentngOnInitdatabaseServiceを設定しています:

this.databaseService.addDatabaseData(databaseData);

私はためにforRootを使用する方がよいだろうと思いますが、私はそれを行うにはどのようには考えています。 forRootで設定データを使用するには?

app.module:

@NgModule({ 
    imports: [ 
     DatabaseModule.forRoot(databaseData), 
    ] 
}); 

database.module

export class DatabaseModule { 
    static forRoot(databaseData: any): ModuleWithProviders { 
     /** 
     * How to use databaseData? 
     * this.databaseService.addDatabaseData(databaseData); 
     */ 
     return { 
      ngModule: DatabaseModule, 
      providers: [ 
       DatabaseService 
      ] 
     }; 
    } 
} 

答えて

1

DatabaseServiceが注入された依存関係が必要な場合は、その後、あなたは

を行うことができ、工場

providers: [ 
    { 
    provide: DatabaseService, 
    useFactory:() => { 
     const service = new DatabaseService(); 
     service.addDatabaseData(databaseData) 
     return service; 
    } 
    } 
] 

を使用します210

関連する問題