Una cosa que distingue a AngularJS de otros frameworks JavaScript-MVC es su capacidad para hacer eco de valores encuadernados desde JavaScript a HTML mediante enlaces. Angular lo hace "automáticamente" cuando asigna cualquier valor a la variable $ scope.¿Cómo funciona el enlace y la digestión en AngularJS?
Pero, ¿qué tan automático es esto? Algunas veces, Angular no se dará cuenta del cambio, así que necesito llamar a $ scope. $ Apply() o $ scope. $ Digest() para informarle a angular que recoja el cambio. A veces, cuando ejecuto cualquiera de esos métodos, arroja un error y dice que ya hay un resumen en curso.
Dado que los enlaces (cualquier cosa dentro de {{}} llaves o ng-atributos) se repiten con eval, esto significa que Angular está sondeando constantemente el objeto $ scope para buscar cambios y luego realizar una evaluación para impulsar esos cambios al DOM/HTML? ¿O AngularJS de alguna manera ha descubierto el uso de variables mágicas que desencadenan eventos que se desencadenan cuando un valor variable cambia o se asigna? Nunca he escuchado que sea totalmente compatible con todos los navegadores, así que lo dudo.
¿Cómo AngularJS realiza un seguimiento de sus enlaces y variables de ámbito?
Encontré la sección en http://docs.angularjs.org/guide/concepts#runtime que comienza con "Aquí está la explicación de cómo el ejemplo de Hola mundo logra el efecto de enlace de datos" útil. –
Esta publicación también es útil si aún no la has visto: http://stackoverflow.com/questions/9682092/databinding-in-angularjs/9693933#9693933 – Gloopy
Comenta tu primer párrafo declarativo: la capacidad de Angular para hacer eco valores de JavaScript en HTML utilizando enlaces "suena como una forma confusa de decir" enlace de datos ". Y en este punto en el tiempo realmente no establece Angular aparte de otros marcos como Ember o React. La pregunta es útil, no me malinterprete. Pero ese primer párrafo es solo una opinión con la que estoy en desacuerdo: edité la pregunta pero no me siento lo suficientemente autorizada. –