角4:预期0类型参数,但得到1

时间:2018-08-02 09:53:21

标签: angular

我正在尝试从服务器访问并打印控制台窗口中的特定数据。由于某种原因,它会像

一样引发错误

期望0个类型参数,但得到1个

以及get<ProductData>的问题原因,您能纠正我什么地方吗?

注意:如果我访问完整的数据而没有键入响应,则可以正常工作。

interface ProductData {
  userId: string;
  id: number;
  title: string;    
} 


private productUrl:string = "https://jsonplaceholder.typicode.com/todos/1";

  ngOnInit() {

    this.http.get<ProductData>(this.productUrl).subscribe(data => {
          console.log(data.userId);
        })

}

1 个答案:

答案 0 :(得分:3)

HttpClient具有可用于提供响应类型的通用方法。 Http没有。

该错误表示不希望使用通用参数,并且http不是HttpClient的实例;可能是Http的实例。

如果应用程序使用Angular 4.3或更高版本,则Http应替换为HttpClient。如果应该使用Http,则应该转换响应,这是HttpClient和Http之间的一些区别之一:

return this.http.get(uri, { params })
.map(res => <ProductData[]>res.json());

详细信息:https://angular.io/guide/http