Angular:防止任何更多的输入进入子组件

问题描述 投票:0回答:1

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

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

当前解决方案

ngOnChanges() {
    if (inputCount < 3) { 
       this.customerName = ....
       this.product = ....
} 
angular typescript angular8 angular-components angular-changedetection
1个回答
0
投票

您可以使用设置器/获取器来做到这一点:

@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;
© www.soinside.com 2019 - 2024. All rights reserved.