我在visual studio代码中出错->
类型"Object"在类型"any[]"中缺少以下属性:length、pop、push、concat和26个以上。ts
我不知道瑞森,但检查一下我的代码:
trainingPlanResponse: any[] = [];
this.service.postToGetData(model).subscribe(
data => {
// this.trainingPlanResponse.push(data);
this.trainingPlanResponse = data; // HERE IS ERROR!!!
},
err => {
console.log(err)
}
)
当我设置为时
trainingPlanResponse: any;
这项工作,但我需要设置在html
<div *ngIf="trainingPlanResponse.length > 0">
response
</div>
重要提示:我没有模型接口!
http请求的响应返回Object
类型的Observable
示例
假设你有一个函数postToGetData()
postToGetData() {
return this.httpClient.get('my-url')
}
Typescript
将推断函数postToGetData
以返回Observable<Object>
最简单的解决方案是简单地使用型铸造,如
postToGetData() {
return this.httpClient.get<any[]>('my-url')
}
以上将推断postToGetData
返回any[]
您也可以将函数的返回类型定义为any[]
postToGetData(): any[] {
return this.httpClient.get('my-url').pipe(map(items => items as any[]))
}