En mi componente que tiene una plantilla como esa
template: '<input type="text" value="{{formattedValue}}">',
Cuando se ingresan ciertas entradas incorrectas, la propiedad interna formattedValue no cambia, pero luego quiero que la interfaz de usuario se actualice para mostrar el último valor correcto.
Por ejemplo, si los componentes this.formattedValue son 1000 y el usuario actualiza la entrada para tener el texto 1,000x , entonces quiero que la entrada sea 1000 nuevamente. Actualmente esto no sucede. Por supuesto, puedo actualizar el DOM con la API de Dom en la función, pero preferiría usar la plantilla.
template: '<input type="text" [ngValue]="formattedValue" (ngValueChange)="checkValue($event)">', formattedValue:string = ''; constructor(private cdRef:ChangeDetectorRef) {} checkValue(event) { if(event == /* invalid */) { this.cdRef.detectChanges(); } else { this.formattedValue = event; } }