我試圖實現使用新的HttpClient在角4.3的HTTP攔截,但我不斷收到錯誤:錯誤:沒有提供程序AuthInterceptor
ERROR Error: Uncaught (in promise): Error: No provider for AuthInterceptor!
這是我在我的app.module .TS:
@NgModule({
bootstrap: [AppComponent],
declarations: [
AppComponent,
LoginComponent,
NotFoundComponent
],
imports: [
RouterModule.forRoot([
{ path: "", redirectTo: "login", pathMatch: "full" },
{ path: "login", component: LoginComponent },
{ path: "**", component: NotFoundComponent }
]),
NgbModule.forRoot(),
BrowserAnimationsModule,
HttpClientModule,
],
providers: [
AuthenticationService,
{ provide: HTTP_INTERCEPTORS, useExisting: AuthInterceptor, multi: true },
]
};
我看着所有錯誤「無提供CustomService」的文章,他們都指確保該服務被添加到供應商名單中app.module我認爲我已經完成了。
有沒有人有任何其他想法?
謝謝。
你爲什麼使用'useExisting'?這是爲了混疊現有的依賴性令牌。除非在AuthInterceptor標記下已經提供了某些東西,否則它會失敗。嘗試添加'AuthInterceptor'到你的'providers'屬性。 –
啊,你說得對。我遵循一個關於實現攔截器的教程,但沒有意識到useExisting意味着它必須已經存在。如果您提交您的評論作爲問題的答案,我很樂意將其標記爲正確的答案。 –