2
私は依存関係を記述するルートAppModule
を持っています。私は@Injectable
JwtLocalStorage
を持っています。 をtokenGetter
としてprovideAuth()
に渡すにはどうすればいいですか?出来ますか?私はそれのために何をすべきですか?NgModuleでインスタンス化された依存関係を使用
app.module.ts
@NgModule({
// ...
providers: [
// ...
provideAuth({
tokenGetter:() => JSON.parse(localStorage.getItem(TASK_DI_CONFIG.jwtName)),
}),
{ provide: APP_CONFIG, useValue: TASK_DI_CONFIG },
{ provide: JwtStorage, useClass: JwtLocalStorage }
],
bootstrap: [
AppComponent
]
})
export class AppModule {
}
JWT-ローカルstorage.ts
@Injectable()
export class JwtLocalStorage implements JwtStorage {
constructor(
@Inject(APP_CONFIG) private config: AppConfig
) {
}
getToken() {
return JSON.parse(localStorage.getItem(this.config.jwtName));
}
// ...
}
P.S.私は角を使用しています2.0.0-rc.5
「私はprovideAuthでtokenGetter()としてJwtLocalStorage.prototype.getTokenを()を渡すことができますか」のように見えます。正確にあなたはどこに行きたいですか? –
@GünterZöchbauer 'JwtLocalStorage'クラスの' getToken() 'メソッドを' provideAuth() 'ヘルパー関数に' tokenGetter'プロパティとして渡したいと思います。今のところ私は 'AppModule'に' getToken() 'の実装を重複しています。 – user1636505
私は今、理解していると思いますが、考えはありません。あなたはカスタムの 'provideAuth()'メソッドを使うことも、メソッドの内容をモジュールプロバイダに直接コピーすることもできますが、それは劣化のようです –