在我的组件中,我有一个名为data
的数组,我需要在不同的部分设置值。我在@Input
中添加了一个名为additionalValues
的新数组参数。现在我需要将新参数中的值与传递给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
数组的值,结果没问题。我也尝试在_data
方法的和中打印setter,但总是可以的。
发布于 2019-12-10 00:05:53
我认为唯一缺少的就是在additionalValues输入发生变化时更新数据内容:
ngOnChanges(){
this.data = [] ;
}
或者等到下一次setter调用时才更新数据。
https://stackoverflow.com/questions/59252025
复制相似问题