86 - Formularios - formularios basado en plantillas y formularios reactivos

Angular proporciona dos enfoques diferentes para manejar formularios:

  1. Basado en plantillas

  2. Reactivos

Ambos capturan los eventos de entrada del usuario desde la vista, crean un modelo de formulario y un modelo de datos para actualizar y proporcionan una forma de rastrear los cambios. Hasta ahora nosotros hemos trabajado con el modelo basado en plantillas.

El enfoque reactivo es más robusto, son más escalables, reutilizables y comprobables. Si los formularios son una parte clave de su aplicación, conviene utilizar el modelo reactivo.

Los formularios basados en plantillas son útiles para agregar un formulario simple a una aplicación. Son más fáciles de agregar que los formularios reactivos, pero no escalan tan bien como las formas reactivas. Si tiene requisitos de formulario y lógica muy básica podemos utilizar sin problemas formularios basados en plantillas como lo hemos estado haciendo en todos los ejercicios vistos.

Diferencias entre ambos modelos

  • La configuración con el modelo de plantilla se hace mediante directivas y es menos explícito que el modelo reactivo que debe configurarse en la clase mediante código.

  • En el formulario basado en plantillas el modelo de datos es más desestructurado.

  • En el formulario basado en plantilla la validación se hace mediante directivas, en cambio en el modelo reactivo se hace mediante funciones.

  • La escalabilidad en el modelo de plantillas se hace mediante abstracciones, en cambio en el reactivo se accede a APIs de bajo nivel.

  • Las pruebas unitarias son más fácil de implementar en los formularios reactivos.

  • Maneja cualquier escenario complejo es más fácil implementarlo con formularios reactivos.

  • En los formularios basados en plantillas debemos implementar menos código en la clase.

  • En los formularios basados en plantillas la sintaxis es similar a la versión vieja y en desuso de AngularJS 1.x