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;
有什么方法可以防止 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;