我是Angular的新手,他找到了一种实用且模块化的方法来填充Class中的派生变量集。
export class Calculator {
constructor(
public x?: number,
public y?: number,
public total?: number,
) {
this.total = this.x + this.y;
}
}
我应该发生的是,Angular应该知道total
和x
,y
之间存在依赖关系。每当x
或y
更新时,Angular应重新评估total
。
我知道这可以通过书写来完成,
this.calculator.total = this.calculator.x + this.calculator.y
在控制器的ngOnInit
中或在onchange
触发器中。但是,如果我有很多派生变量,它就不能扩展和模块化。的确,Class只是打字稿,它对Angular并不了解。您可以帮我替代一下吗?
答案 0 :(得分:1)
如果总使用吸气剂效率不高
您可以将Calculator
类更新为
export class Calculator {
constructor(
private _x?: number,
private _y?: number,
public total?: number,
) {
this.total = this.x + this.y;
}
private update() {
this.total = this.x + this.y;
}
set x(val) {
this._x = val;
this.update();
}
set y(val) {
this._y = val;
this.update();
}
}
现在,只要对象内发生更改,您就可以重新计算多个属性。