簡體   English   中英

Typescript getter/setter 屬性數組返回錯誤值

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM