在Angular(打字稿)中,说我启动了此变量:
myVar = {}
然后我进行调用,将该变量分配给更大的对象:
...
this.myVar = response
然后,当我要访问此已更改对象上的某些内容时,会不断收到错误消息,提示键不存在。例如,使用此代码this.myVar.Name
将引发错误Property "Name" does not exist on type '{}'
。我该如何绕过此错误?
类似myVar: any
的东西可以完成工作,但是我仍然想至少将它声明为带有= {}
这样的对象。
我正在寻找类似{any}
或any{}
答案 0 :(得分:1)
这是typescript types的问题,为此,我建议在您的问题中为打字稿添加标签。我认为您可以使用object
type,它确实可以满足您的要求,即接受任何类型的密钥。因此代码为:const yourVar: object = {};
答案 1 :(得分:1)
以下应该可以工作
let myVar: any = {};
答案 2 :(得分:0)
只需使其类型为any
。
myVar: any;
或更优,您可以创建一个界面来表示myVar
的类型,假设您有模式Product
,其属性为:name, price, description etc...
和然后myVar: Product
答案 3 :(得分:0)
您可以使用可变键将其键入为对象:
let myVar: { [key: string]: any } = {};
那样,您可以为对象添加更多细粒度的类型。