要防止在HTML渲染时调用ngModelChange
函数,可以使用Angular的ChangeDetectorRef
来手动控制变更检测。
以下是一个示例解决方法:
ChangeDetectorRef
:import { Component, ChangeDetectorRef } from '@angular/core';
ChangeDetectorRef
:constructor(private cdr: ChangeDetectorRef) { }
ngModelChange
指令并调用一个自定义的方法,例如onInputChange
:
onInputChange
方法来处理输入变化的事件:onInputChange(value: any) {
// 在这里执行你的逻辑
// ...
// 手动标记变更已完成
this.cdr.markForCheck();
}
通过调用this.cdr.markForCheck()
手动标记变更已完成,可以防止在HTML渲染时触发额外的变更检测。