在Javascript中,我创建了一个这样的对象:
this.view.objectExample.accessibilityConfig= {
'propertyA': 1,
'PropertyB': 2,
'PropertyC': 3
};
我试图在运行时添加一个新属性,但得到了";无法设置未定义的"的属性;错误
使用的代码示例:
this.view.objectExample.accessibilityConfig.propertyD['flag'] = true;
设置这样的新房产的正确方法是什么?
也这样尝试过:
this.view.objectExample.accessibilityConfig.propertyD.flag = true;
因为原始对象中没有propertyD
,所以accessibilityConfig.propertyD
就是undefined
。
您可以动态地向对象添加属性,但该对象必须首先存在。对于对象层次结构的每个级别都是如此。所以在你能做到这一点之前:
this.view.objectExample.accessibilityConfig.propertyD.flag = true;
你必须这样做:
this.view.objectExample.accessibilityConfig.propertyD = {};
或者你可以同时做这两件事:
this.view.objectExample.accessibilityConfig.propertyD = { flag: true };