簡體   English   中英

沒有使用ASP.NET Core Angular Spa項目JavaScriptServices的Guard提供程序

[英]No provider for Guard with ASP.NET Core Angular Spa project JavaScriptServices

我收到錯誤:沒有AuthGuard提供商!

如果AuthGuard未在app.module中注冊,通常會發生這種情況。 在這種情況下,我在app.module.shared.ts中注冊了它

最新的JavaScriptServices Angular模板將app.module拆分為3 - app.module.shared.ts,app.module.client.ts,app.module.server.ts這可能就是為什么它表現得很奇怪。

還有什么可能導致此錯誤發生嗎? 我相信它只發生在這個新的JavaScriptServices模板中,而不是一個vanilla Angular項目。

我在app.module.shared.ts中注冊的服務遇到了同樣的問題。 似乎服務的多個實例(單例)是通過依賴注入創建的,這會導致錯誤(錯誤消息並不意味着這一點)。 我使用來自angular.io上NGMODULES文檔的信息修復它,通過創建一個僅將服務注冊為提供者的模塊。

import { NgModule } from '@angular/core';
import { MyService } from './components/shared/my.service';

@NgModule({
    providers: [MyService]
})
export class CoreModule { }

然后我將coreModule添加到app.module.shared.ts中的導入中

imports: [CoreModule]

雖然它確實修復了“無提供商”問題,但我的服務存在問題,這使得http調用,但這可能與您的問題無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM