reactivos - validar formulario angular 5
¿Cuáles son las diferencias prácticas entre las formas reactivas y basadas en plantillas? (4)
He estado leyendo sobre la nueva API de formularios de Angular2 y parece que hay dos enfoques en los formularios, uno es formularios basados en plantillas y otro son formularios reactivos o modelos.
Me gustaría saber la diferencia práctica entre los dos, no la diferencia en la sintaxis (obviamente) sino los usos prácticos y qué enfoque se beneficia más en diferentes escenarios. Además, ¿hay un aumento de rendimiento al elegir uno sobre el otro? Y si es así, ¿por qué?
Creo que es una discusión sobre código , estrategia y experiencia del usuario .
En resumen, cambiamos por un enfoque basado en plantillas que es más fácil de trabajar con él, a reactivo (en un enfoque basado en modelos) para darnos más control , lo que resulta en una mejor forma comprobable al aprovechar un desacoplamiento entre el HTML (diseño / El equipo de CSS puede trabajar aquí) y las reglas comerciales de los componentes (miembros especialistas en angular / js) y para mejorar la experiencia del usuario con características como transformaciones reactivas, validaciones correlacionadas y manejar escenarios complejos como reglas de validación de tiempo de ejecución y duplicación de campos dinámicos.
Este artículo es una buena referencia al respecto: Formularios angulares 2 : enfoques basados en plantillas y en modelos
Formas reactivas:
- reutilizable
- más robusto,
- comprobable
- más escalable
Formas basadas en plantillas:
- fácil de agregar,
- menos escalable
- requisitos básicos de forma
En resumen , si los formularios son muy importantes para su aplicación, o si se usan patrones reactivos en su aplicación, debe usar formularios reactivos . De lo contrario, su aplicación tiene requisitos básicos y simples para formularios como iniciar sesión, debe usar formularios basados en plantillas .
Características de formularios controlados por plantilla
- Fácil de usar
- Adecuado para escenarios simples y falla para escenarios complejos
- Similar a AngularJS
-
[(NgModel)]
datos bidireccional (usando la sintaxis[(NgModel)]
) - Código de componente mínimo
- Seguimiento automático del formulario y sus datos (manejado por Angular)
- Las pruebas unitarias son otro desafío
Características de los formularios reactivos
- Más flexible, pero necesita mucha práctica.
- Maneja cualquier escenario complejo
- No se realiza ningún enlace de datos (modelo de datos inmutable preferido por la mayoría de los desarrolladores)
- Más código de componente y menos marcado HTML
-
Las transformaciones reactivas pueden hacerse posibles como
- Manejo de un evento basado en un tiempo de rebote
- Manejo de eventos cuando los componentes son distintos hasta que se cambian
- Agregar elementos dinámicamente
- Pruebas unitarias más fáciles