以下是我的包含服务的独立API调用:

import { Injectable} from '@angular/core';
import { ProductEndPoints } from '../../constants/apiConstants/product-endpoints';
import { HttpClient} from '@angular/common/http';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment.development';
import { product } from '../../models/product.types';
@Injectable({
  providedIn: 'root',
})
export class ProductService {

  constructor(private http:HttpClient) { }

  getAllProducts():Observable<product[]>{
     return this.http.get<product[]>(environment.apiUrl+`${ProductEndPoints.getAllProduct}`)
  }

  getProductDetailById(id:string):Observable<product>{
    return this.http.get<product>(environment.apiUrl+`${ProductEndPoints}/${id}`)
  }
}

我还将该服务添加到目标组件的提供者数组中.

我在将其注入独立组件时遇到的错误是:

src_app_pages_Product_product-routing_ts.js:2 ERROR Error: Uncaught (in promise): NullInjectorError: R3InjectorError(Standalone[ProductListComponent])[HttpClient -> HttpClient -> HttpClient -> HttpClient]: 
  NullInjectorError: No provider for HttpClient!
NullInjectorError: R3InjectorError(Standalone[ProductListComponent])[HttpClient -> HttpClient -> HttpClient -> HttpClient]: 
  NullInjectorError: No provider for HttpClient!
    at NullInjector.get (core.mjs:8890:27)
    at R3Injector.get (core.mjs:9334:33)
    at R3Injector.get (core.mjs:9334:33)
    at R3Injector.get (core.mjs:9334:33)
    at R3Injector.get (core.mjs:9334:33)
    at ChainedInjector.get (core.mjs:14018:36)
    at lookupTokenUsingModuleInjector (core.mjs:4608:39)
    at getOrCreateInjectable (core.mjs:4656:12)
    at ɵɵdirectiveInject (core.mjs:11801:19)
    at Module.ɵɵinject (core.mjs:848:60)
    at resolvePromise (zone.js:1193:31)
    at resolvePromise (zone.js:1147:17)
    at zone.js:1260:17
    at _ZoneDelegate.invokeTask (zone.js:402:31)
    at core.mjs:10757:55
    at AsyncStackTaggingZoneSpec.onInvokeTask (core.mjs:10757:36)
    at _ZoneDelegate.invokeTask (zone.js:401:60)
    at Object.onInvokeTask (core.mjs:11070:33)
    at _ZoneDelegate.invokeTask (zone.js:401:60)
    at Zone.runTask (zone.js:173:47)

推荐答案

添加

HttpClientModule

在AppModule导入数组中

Angular相关问答推荐

如何避免使用CSS动画制作的幻灯片中闪烁?

如何使用带有17角的Swiper 11.0.5元素

如何在 Angular RxJS 中替换订阅中的 subscrib?

完成行为主体

在ngOninit方法中直接VS初始化属性

应该显示在表格中的嵌套循环

BehaviorSubject 在 Angular 中制作数据之间的时间表(或计时器)

模块内的命名路由出口 - 路径匹配但内容未加载

如何重置表单中的特定字段?

Subject.complete() 是否取消订阅所有听众?

单选按钮的Angular2 Reactive Forms formControl

模块AppModule导入的意外指令LoginComponent,请添加@NgModule 注释

EmptyError: no elements in sequence

为什么我们需要`ngDoCheck`

Angular 2 Material - 如何居中进度微调器

检测指令中输入值何时更改

如何将一个组件放入Angular2中的另一个组件中?

Angular - 工作区中未设置配置

如何从materialAngular使用分页器?

Angular2:将数组转换为 Observable