Angular4和TypeScript属性在类型上不存在[]
问题描述:
我似乎无法弄清楚这件事情...我从api获取数据并将其存储为任何[]。我试图得到这样的数据...Angular4和TypeScript属性在类型上不存在[]
this.data.results[i].datas[j].dataType
但我得到的错误属性结果不存在类型任何[]。我试着看过很多其他问题和答案,但我似乎无法弄清楚。
(我应该只是创建一个数据对象,而不是分配数据给任何[],将它分配给对象?) 感谢您的帮助!
答
我总是(如果可能)至少声明一个接口是这样的:
interface IDataset {
dataType: string;
value: string;
// Whatevery your dataset holds
}
interface IResultset {
datas: IDataset[9]
}
interface IData {
results: IResultset[];
}
class SomeClass {
data: IData[];
someFunction() {
this.data.results[i].datas[j].dataType = "whatever";
}
}
你得到智能感知这样您的数据必须以一种合理的方式来构造数据,并且可以在客户端和服务器端使用这些接口(如果您也在服务器上工作)
+1
是的我知道,我真的应该声明对象/接口。但是我的固执已经开始了,我想用这种方式来解决它:现在我已经这样做了,我会创建对象哈哈,我只是想获得胜利的感觉 – Mark
请问您可以放更多代码为了帮助你? – DMCISSOKHO
而确切的和完整的错误信息。还要添加打印值'console.log(...)'完全返回的值。你提到'任何[]',但你的代码并不显示你如何使用它。 –
您是否收到打字稿编译错误或运行时错误? – FabianTe