Angular:防止更多输入进入子组件,关闭更改检测

Angular: Prevent any more inputs from entering Child Component, Turn off Change Detection

有什么方法可以防止 Angular 输入接收更多输入。我希望子输入从 ngOnChanges 接收 3 个更新更改,并在第 4 个或更高版本停止接收输入,并停止更改值。

我可以在子组件 ngOnChanges 上放置一个输入计数标志,只是好奇在父组件或子组件中是否有更好的机制来停止接收输入?

当前解决方案

ngOnChanges() {
    if (inputCount < 3) { 
       this.customerName = ....
       this.product = ....
} 

你可以用 setter/getter:

@Input() 
get myInput() {return this._myInput;}
set myInput(value: any) {
  if(this._myInputCount >= 3) {
    return;
  }
  this._myInput = value;
  this._myInputCount++;
}
private _myInput: any;
private _myInputCount = 0;