修改属性的子值时调用get set函数

时间:2019-06-11 03:02:59

标签: typescript

对不起,标题,但我不知道这些术语。

我有以下=> https://stackblitz.com/edit/typescript-sucwwh

interface MyInterface {
  x:number;
  y:number;
  z:number;
}

class Changer{
  private _position: MyInterface;
  get position() { return this._position; }
  set position(position: MyInterface) {
    this._position = position;
    this.position.y = Math.round(this._position.y * 1e2) / 1e2;
    console.log(this.position)
  }
  constructor(){

  }
}

let toto = new Changer();
toto.position = {x: 1, y:2, z:3}
toto.position.y = 312.123123123123
console.log(toto.position.y)

我的问题是,我对类型为{x,y,z}的对象进行了设置,如果我设置了一个值就可以了。

但是,如果我只想单独设置x,y或z,则不会传递给get set函数,并且该值仍然设置。

该如何解决?

0 个答案:

没有答案