我有一个Input变量,其值在parentComponent中更改.在每次更改时,我都需要将名为currentNumberlocal 的变量更新为子组件.目前我只在onInit方法中初始化它,但输入在childComponent.ts的生命周期内发生了变化
ChildComponent.ts
@Input() input;
...
...
ngOnInit(){
this.currentNumber = this.data.someOtherNumber+this.input.numberIneed;;
}
Run Code Online (Sandbox Code Playgroud)
我知道观察者,但我觉得为此宣布另一项服务是一种矫枉过正.
Pac*_*ac0 12
你可以使用一个二传手:
private _input: number;
@Input() set input(value: number) {
this._input = value;
this.currentNumber = this.data.someOtherNumber + this.input.numberIneed;
};
get input() { return this._input; }
Run Code Online (Sandbox Code Playgroud)
或ngOnChanges:
export class ChildComponent implements OnChanges {
// ...
ngOnChanges(changes: { [propName: string]: SimpleChange }) {
if (changes['input'] && changes['input'].currentValue !== changes['input'].previousValue) {
this.currentNumber = this.data.someOtherNumber+this.input.numberIneed;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4231 次 |
| 最近记录: |