Implemento el selector de fechas en mi formulario, con la ayuda de una biblioteca de selectores de fechas de terceros (jQuery, etc.). Funciona cuando el usuario selecciona la fecha, pero Angular no puede detectar el cambio emitido por el selector de fecha (por ejemplo, cuando elijo la fecha).
Aquí está mi código:
HTML
<input type="text" id="dateOfBirth" name="dateOfBirth" formControlName="dateOfBirth" value="{{selectedEmployee.dateOfBirth}}" (ngModelChange)="dateFieldChanged()" readonly>TS
dateFieldChanged() { console.log('date changed!'); } Se supone que debe ejecutar dateFieldChange(), ¿no es así? Para que pueda determinar si la forma aún está prístina o ya está sucia. Pero el método nunca se ejecutó.
Supongo que es porque el javascript del selector de fechas de terceros cambia el valor, de modo que Angular no lo detecta.
¿Cómo solucionar este problema?
He logrado hacerlo. Dado que estoy apuntando al navegador moderno (! = IE8 a continuación), solo necesito cambiar el tipo de entrada para que sea "fecha"
<input type="date" id="dateOfBirth" name="dateOfBirth" formControlName="dateOfBirth" value="{{selectedEmployee.dateOfBirth}}" (ngModelChange)="dateFieldChanged()">