¿Cómo aplica Angular el enlace de datos bidireccional?

Hay un ciclo de resumen, donde el ámbito examina todas las expresiones $ watch y las compara con el valor anterior. Busca cambios en los modelos de objetos, si el valor anterior no es el mismo que el nuevo, AngularJS actualizará los lugares apropiados, es decir, la verificación sucia.

Para que se ejecute el ciclo de resumen, se debe ejecutar $apply(fn) , así es como se ingresa al mundo angular desde JavaScript. ¿Cómo se llama $apply(fn) (tomado de la integración de AngularJs con el navegador):

  1. El bucle de eventos del navegador espera a que llegue un evento. Un evento es una interacción del usuario, un evento de temporizador o un evento de red (respuesta de un servidor).
  2. La devolución de llamada del evento se ejecuta. Esto entra en el contexto de JavaScript. La devolución de llamada puede modificar la estructura DOM.
  3. Una vez que se ejecuta la devolución de llamada, el navegador abandona el contexto de JavaScript y vuelve a representar la vista en función de los cambios del DOM.

El enlace de datos

Explicación del ciclo digestivo

Para lograr un enlace bidireccional, las directivas registran a los observadores. Para que una página sea rápida y eficiente, debemos intentar reducir todos los observadores que creamos. Por lo tanto, debe tener cuidado al usar el enlace bidireccional, es decir, solo úselo cuando realmente lo necesite, de lo contrario, use el enlace unidireccional.

Espero eso ayude !!