在 AppComponent 构造函数中添加 OAuthService 后 UI 无法正常工作

Posted

技术标签:

【中文标题】在 AppComponent 构造函数中添加 OAuthService 后 UI 无法正常工作【英文标题】:UI is not working after adding OAuthService in AppComponent constructor 【发布时间】:2021-12-11 18:53:26 【问题描述】:

Angular

添加 OIDC OAuthService 后,UI 不热显示任何内容。下面是角码 .

import  Component  from '@angular/core';
import  OAuthService  from 'angular-oauth2-oidc';

@Component(
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
)
export class AppComponent 
  title = 'AngProject';
  constructor(private auth:OAuthService)

  

Error

core.js:6486 ERROR NullInjectorError: R3InjectorError(AppModule)[OAuthService -> HttpClient -> HttpClient -> HttpClient]: 
  NullInjectorError: No provider for HttpClient!
    at NullInjector.get (core.js:11108)
    at R3Injector.get (core.js:11275)
    at R3Injector.get (core.js:11275)
    at R3Injector.get (core.js:11275)
    at injectInjectorOnly (core.js:4758)
    at Module.ɵɵinject (core.js:4762)
    at Object.OAuthService_Factory [as factory] (angular-oauth2-oidc.js:3050)
    at R3Injector.hydrate (core.js:11445)
    at R3Injector.get (core.js:11264)
    at NgModuleRef$1.get (core.js:25340)

【问题讨论】:

控制台可能包含更多信息。也许你没有在你的 NgModule 中提供服务? (如果它来自库,您可能需要将库模块添加到模块的导入数组中) 我已经在AppModule中添加了oAuth服务 您可以在您的问题中添加控制台输出吗?通常,当应用程序未加载时,您会在控制台上看到一些红色文本,这应该有助于解决问题。 另外,添加服务可能还不够,如果您按照正确的步骤操作,请检查github.com/manfredsteyer/…。 【参考方案1】:

In App Module ts I added below dependencies

import HttpClientModule from '@angular/common/http'
import  OAuthModule  from 'angular-oauth2-oidc';
import UrlHelperService from "angular-oauth2-oidc";

And I declared the service and module in Ng Module like below

@NgModule(
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    HttpClientModule,
    OAuthModule.forRoot()
  ],
  providers: [OAuthService,UrlHelperService],
  bootstrap: [AppComponent]
)

【讨论】:

以上是关于在 AppComponent 构造函数中添加 OAuthService 后 UI 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的错误:无法解析 AppComponent 的所有参数:(?)

使用“* ngIf”的Component构造函数中的BehaviourSubject订阅会抛出“ExpressionChangedAfterItHasBeenCheckedError”

Angular + Jest:无法解析 AppComponent 的所有参数:(?)

Angular Karma 使用 CUSTOM_ELEMENTS_SCHEMA 测试超时测试 AppComponent

致远OA ajax.do登录绕过任意文件上传

Dagger 2从浅到深