类型 'Object' 缺少类型"any[]"中的以下属性:长度、弹出、推送、连接和 26 个其他属性。



我在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[]))
}

最新更新