ionic 分配 HttpClient 响应变量
ionic Assign HttpClient response variables
我正在学习离子框架,想知道 REST 调用是如何正确完成的。
我有一个 RestProvider class 可以获取产品列表
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] Property result does not exist on type Object
如何创建我的响应模型并将它们分配给 class 个变量?
您在 return 中获得的对象是对响应主体的 JSON 解析。错误是 Typescript 现在知道 result
属性 是否存在于 returned 类型中。所以你应该消除歧义。
您使用 get
的模板参数声明 returned 对象的类型,如 get<MyReturnedType>
中一样。所以在这里,你应该提供一个包含 result
属性.
的模板参数
要么你知道它的类型,然后使用它,要么你不知道,然后使用 any
并且你对你进行的对象访问负责。
您可以获得有关此内容的更多详细信息Angular documentation page。
注意:不要使用searchUri+query
作为你的url,因为它没有被正确转义。您应该改用 HttpParams
描述 here.
我正在学习离子框架,想知道 REST 调用是如何正确完成的。
我有一个 RestProvider class 可以获取产品列表
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] Property result does not exist on type Object
如何创建我的响应模型并将它们分配给 class 个变量?
您在 return 中获得的对象是对响应主体的 JSON 解析。错误是 Typescript 现在知道 result
属性 是否存在于 returned 类型中。所以你应该消除歧义。
您使用 get
的模板参数声明 returned 对象的类型,如 get<MyReturnedType>
中一样。所以在这里,你应该提供一个包含 result
属性.
要么你知道它的类型,然后使用它,要么你不知道,然后使用 any
并且你对你进行的对象访问负责。
您可以获得有关此内容的更多详细信息Angular documentation page。
注意:不要使用searchUri+query
作为你的url,因为它没有被正确转义。您应该改用 HttpParams
描述 here.