Angular从提供商那里获取数据

时间:2019-05-10 07:15:01

标签: angular

我需要控制台组件中的数据,然后从提供程序中获取数据。当我使用subscribe TypeError时,它显示此错误:无法读取未定义的属性“ subscribe”

我正在home.html中这样获取

  this.api.getSamad(this.company_id).subscribe(data=> console.log (data));

提供商

public getSamad(company_id: any){
this.company_id = company_id;
this.url = 'url.com?offset=0&limit=10&company_id='+this.company_id;

 this.clientData = this.httpClient.get<any>(this.url).
 subscribe(data => {
 console.log(data);
         this.spinner.hide();

         this.data1 = data.records;
         this.data1.forEach(d => this.policy_id.add(d.policy_id));
         console.log(this.userFilter.policy_id);
  }

我想在home.html中显示数据吗?请告诉我在home.ts控制台中显示提供者数据有多么糟糕

1 个答案:

答案 0 :(得分:0)

您需要在getSamad方法内部返回observable,不要在那里订阅它。您的方法没有返回任何内容,这就是它显示该错误的原因。

public getSamad(company_id: any){
  this.company_id = company_id;
  this.url = 'url.com?offset=0&limit=10&company_id='+this.company_id;
  return this.httpClient.get<any>(this.url);
}

然后,您可以在其组件中进行订阅,然后将其放入getSamad订阅中。