繁体   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