[英]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.