首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Typescript getter/setter属性数组返回错误的值

Typescript getter/setter属性数组返回错误的值
EN

Stack Overflow用户
提问于 2019-12-09 23:31:28
回答 1查看 208关注 0票数 0

在我的组件中,我有一个名为data的数组,我需要在不同的部分设置值。我在@Input中添加了一个名为additionalValues的新数组参数。现在我需要将新参数中的值与传递给datavalue连接起来。这是我的代码:

代码语言:javascript
运行
复制
protected data: any[];
protected additionalValues: any[];

我这样修改了我的代码:

代码语言:javascript
运行
复制
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方法时,我会得到一个错误:

代码语言:javascript
运行
复制
this.data.find(x => ...);

我尝试在getter方法中打印_data数组的值,结果没问题。我也尝试在_data方法的和中打印setter,但总是可以的。

EN

回答 1

Stack Overflow用户

发布于 2019-12-10 00:05:53

我认为唯一缺少的就是在additionalValues输入发生变化时更新数据内容:

代码语言:javascript
运行
复制
ngOnChanges(){
    this.data = [] ;
  }

或者等到下一次setter调用时才更新数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59252025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档