在Angular上下文中,我正在使用通过接口定义的自定义对象,比如说“ a”和“ b”。 我正在将它们创建为类属性,以及这些属性的空数组。
public a: CustomObj;
public b: CustomObj;
public array: CustomObj[]=[];
在类构造函数中,我用a和b填充数组,当时它们没有值。
this.array = [a,b];
在某些时候,我修改了a或b(具有([ngModel])绑定),但是当尝试通过Array访问那些对象时,它们仍然是“未定义的”。
有人可以解释为什么吗?
谢谢。
答案 0 :(得分:0)
a和b是引用对象,它们保存对内存中对象实例的引用。当你走
array = [a, b];
您现在有了一个[undefined,undefined]的数组,因为它们都没有指向对象的实例。
现在就去
a = {} //Some instance of an object
这根本不影响数组,因为它不知道未定义的来源。