Estoy enviando un ...
[x] bug report
Comportamiento actual
Debido a que Observer
se nombra con un apodo de "cambios", siento que AbstractControl.statusChanges
solo debería emitir valores siempre que el estado haya cambiado. En cambio, parece ejecutarse siempre que valueChanges
ejecute, excepto con _status_ como valor para la devolución de llamada.
Comportamiento esperado / deseado
Solo debería dispararse cuando el estado haya cambiado.
Reproducción del problema
http://plnkr.co/edit/UTPrVls36cTQjPpwYN2Q
¿Cuál es la motivación / caso de uso para cambiar el comportamiento?
Lo encontré al perfilar un área extra lenta de nuestra aplicación que causó cierto retraso en la interfaz de usuario, por lo que mi principal queja sería el rendimiento.
Sin embargo, es terriblemente fácil agregar un operador distinctUntilChanged
al suscriptor para solucionar el problema, pero la expectativa es que no lo necesitaría, por lo que es fácil perderlo sin probar.
Háblenos de su entorno:
Actualmente statusChanges
emite cada vez que se calcula el estado, no necesariamente cuando cambia. Puedo ver cómo esto puede ser engañoso. Sin embargo, cambiar su comportamiento sería un gran cambio para todos los usuarios de formularios. Posiblemente podríamos agregar un nuevo emisor de eventos para distinguir entre los dos. Me gustaría tener una idea de quién usaría esto para establecer la prioridad. ¿Más personas sienten el dolor de esto? ¿Casos de uso?
Comentario más útil
Actualmente
statusChanges
emite cada vez que se calcula el estado, no necesariamente cuando cambia. Puedo ver cómo esto puede ser engañoso. Sin embargo, cambiar su comportamiento sería un gran cambio para todos los usuarios de formularios. Posiblemente podríamos agregar un nuevo emisor de eventos para distinguir entre los dos. Me gustaría tener una idea de quién usaría esto para establecer la prioridad. ¿Más personas sienten el dolor de esto? ¿Casos de uso?