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 {
}
智威湯遜,本地storage.ts
@Injectable()
export class JwtLocalStorage implements JwtStorage {
constructor(
@Inject(APP_CONFIG) private config: AppConfig
) {
}
getToken() {
return JSON.parse(localStorage.getItem(this.config.jwtName));
}
// ...
}
附:我正在使用Angular 2.0.0-rc.5
我真的不明白「我怎麼能傳遞JwtLocalStorage.prototype.getToken()作爲tokenGetter在provideAuth()」。你到底想要傳遞什麼? –
@GünterZöchbauer我想將'JwtLocalStorage'類的'getToken()'方法傳遞給''giveAuth()'輔助函數''tokenGetter'屬性。現在我已經在'AppModule'中複製了'getToken()'的實現。 – user1636505
我想我現在明白了,但不知道。我想你可以使用自定義的'provideAuth()'方法或者直接將方法的內容複製到模塊提供程序中,但看起來像是惡化 –