【发布时间】:2019-06-21 06:22:40
【问题描述】:
我在 3.2.4 版本中使用带有 TS 的 Angular 7.x.x。
我有两个 TS 接口。一个是扩展另一个:
这是主界面:
export interface Result {
var1: string;
var2: number;
var3: boolean;
}
第二个只是添加了一个属性:
export interface ResultPlus extends Result {
var4: boolean;
}
现在我有一个服务返回Observable<Result[]>.
在我的组件中,我订阅了这项服务:
dataArray: ResultPlus[] = [];
getResults(): void {
this.service.getResults()
.subscribe(data => {
**this.dataArray** = (data as unknown as ResultPlus);
});
}
(代码中没有*)
现在 this.dataArray(上面的粗体 - **)用红色下划线表示:
错误 TS2740:“ResultPlus”类型缺少“ResultPlus[]”类型的以下属性:length、pop、push、concat 等 26 个。
我做错了什么?
提前谢谢你!
【问题讨论】:
标签: angular typescript casting