[英]Typescript getter/setter property array returns wrong value
在我的组件中,我有一个名为data
的数组,我需要在不同的部分设置值。 我在@Input
添加了一个名为additionalValues
的新数组参数。 现在我需要将新参数中的value
与传递给data
value
连接起来。 这是我的代码:
protected data: any[];
protected additionalValues: any[];
我以这种方式更改了我的代码:
private _data: any[] = [];
get data(): any[] {
return this._data;
}
set data(value) {
this._data = value;
if (this.additionalValues != null && this.additionalValues.length > 0) {
this._data = [...this.additionalValues, ...value];
}
}
问题出在哪里? 当我尝试从data
获取值时,我得到的是数组的大小而不是值,当我使用find
方法时,我会得到一个错误:
this.data.find(x => ...);
我尝试在 getter 方法中打印_data
数组的值,没问题。 我也尝试在 setter 方法的 and 中打印_data
但它总是可以的。
我认为唯一缺少的就是在 additionalValues 输入更改时更新您的数据内容:
ngOnChanges(){
this.data = [] ;
}
或者等到下一次 setter 调用更新数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.