数组属性的打字稿获取器/设置器

问题描述

是否可以使用getter / setter模式获得数组属性?

例如:

export class User {

  private _name: string;

  set name(value: string) {
    this._name = value;
  }

  get name(): string {
    return this._name;
  }

  private _roles = new Array<string>();

  set roles(value: Array<string>) {
    this._roles = value;
  }

  get roles(): Array<string> {
    return this._roles;
  }

  constructor() {
  }
}

虽然更改user.name会触发setter方法,但不会添加或删除角色中的项目。

现在,我想我明白为什么它不触发setter的原因,因为向数组中添加项目不会更改指针,而只会增加已分配的空间(如果我错了,请纠正我)。

如何在数组属性上获得所需的getter / setter行为?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)