Angular HttpClientModule错误

时间:2018-08-27 09:24:57

标签: angular http atom-editor

我是Angular的新手,正在尝试服务http。但是我遇到了这个问题。你们知道出什么问题了吗?谢谢

enter image description here

在终端上,显示的错误是

enter image description here

根据错误消息,我去了module.d.ts文件

enter image description here



谢谢大家,我将其更改为HttpClient,并且红线消失了,但是我仍然从终端收到错误消息。并且页面仍未显示。 enter image description here

enter image description here



对于在终端中遇到错误消息的任何人,module.d.ts中的HttpClientModule类应为空。我是通过打字稿通过代码建议意外添加的。感谢您提供的所有惊人帮助enter image description here

3 个答案:

答案 0 :(得分:1)

导入HttpClient

  

在app.module.ts

import { HttpClientModule} from '@angular/common/http';

imports:[HttpClientModule]
  

component.ts / service.ts

import { HttpClient } from '@angular/common/http';

constructor(private http:HttpClient){

}

答案 1 :(得分:1)

应为HttpClient。这就是进行AJAX调用的方式,

不过,要使用HttpClient,必须将HttpClientModule添加到imports的{​​{1}}数组中

因此它应该在您的服务中

NgModule

这在您的模块中:

import { HttpClient } from '@angular/common/http';

export class ProductService {
  private productUrl = 'api/products/products.json';

  constructor(private http: HttpClient) {}

  getProducts() {
    ...
  }
}

这里有Stackblitz Project可以帮助您解决问题。

答案 2 :(得分:0)

问题在于,您正在服务文件中使用HttpClientModule,而应该使用HttpClient类。 HttpClientModule应该导入到您的app.module.ts文件中,如下所示:

app.module.ts

import { HttpClientModule } from '@angular/common/http';

@NgModule({
  imports: [..., HttpClientModule, ..],
  ...
})

*.service.ts

import { HttpClient } from '@angular/common/http';

...

constructor(public http: HttpClient) { }

getProducts(): Observable<IProduct[]> {
  const productUrl: '...';

  this.http.get<IProduct[]>(productUrl).pipe(
    tap(...),
    catchError(...)
  );
}