ionic Assign HttpClient响应变量

时间:2018-11-12 10:54:25

标签: angular ionic-framework ionic2 ionic3

我正在学习离子框架,想知道REST调用是如何正确完成的。

我有一个RestProvider类,可为我提供产品列表

rest.ts

  getProduct(query: string) {
    return this.http.get(searchUri+query)
  }

在我的主页中,我想将响应中的值分配给局部变量

home.ts

  ionViewDidLoad() {
    this.restProvider.getProduct(query).subscribe(it => {
      console.log(it)
      this.products = it.result;
    })
  }

但是在分配行this.products = it.result;上出现错误

  

[ts]属性结果在对象类型上不存在

如何创建响应模型并将其分配给类变量?

1 个答案:

答案 0 :(得分:1)

返回的对象是响应主体的JSON解析。错误是Typescript现在知道返回的类型上是否存在result属性。因此,您应该消除这种情况。

您可以使用get中的模板参数get<MyReturnedType>声明返回对象的类型。因此,在这里,您应该提供一个包含result属性的模板参数。

您要么知道它的类型,然后使用它,否则就不知道,然后使用any,您将对您进行的对象访问负责。

您可以获取有关此Angular documentation page的更多详细信息。

注意:请勿使用searchUri+query作为您的网址,因为该网址无法正确转义。您应该改用here中所述的HttpParams