¿Por qué AngularJS tiene llamadas de función sin fin?

Es lo que es Angular JS.

Las funciones y directivas que ha mencionado en la descripción tienen un enlace bidireccional, por eso Angular js comprueba constantemente si el valor ha cambiado o no para reflejar su último valor.

Angular js también admite enlace unidireccional.

Detalles-

Angular JS admite dos tipos de encuadernación

1) Enlace unidireccional: refleja los cambios de datos solo desde un lado, que es desde Alcance (JS / Controlador) hasta Ver (Plantilla / HTMl). Entonces, si voy a cambiar algo del controlador, se reflejará en View (HTML), pero si lo cambio de HTML, no se reflejará en el controlador. Déjame explicarte con y ejemplo.

Ej: ng-bind proporciona enlace unidireccional

HTML

!

Controlador

angular.module (‘bindExample’, [])
.controller (‘ExampleController’, [‘$ scope’, function ($ scope) {
$ scope.name = ‘Girado’;
}]);

Referencia – AngularJS

Generalmente lo usamos para los elementos de solo lectura, ya que no podemos cambiarlos de HTMl como etiquetas, mensajes, etc.

2.) Enlace bidireccional: refleja los cambios de datos de ambos controladores laterales y de Vista (HTML). Significa que ya sea que lo cambiemos de HTML o que los datos del controlador se actualicen con su último valor.

Ej: ng-Model proporciona enlace bidireccional

HTML

Ingrese el nombre:

Controlador

angular.module (‘bindExample’, [])
.controller (‘ExampleController’, [‘$ scope’, function ($ scope) {
$ scope.name = ‘Girado’;
}]);

Generalmente lo usamos cuando podemos cambiar el valor de la interfaz de usuario, como elementos de entrada, menú desplegable, etc.

También hay un concepto One Time vinculante en AngularJS.

Enlace de una vez: establece el valor una vez y lo olvida como html y js. lo usamos dentro de la expresión (suponiendo que sabes la expresión en Angular JS).

Si ponemos :: delante de cualquier variable de alcance, proporcionará un enlace único.

HTML

{{:: name}}

Controlador

angular.module (‘bindExample’, [])
.controller (‘ExampleController’, [‘$ scope’, function ($ scope) {
$ scope.name = ‘Girado’;
}]);

Resumen: puede confundirse en la explicación anterior, así que permítanme resumir:

Este debería ser el orden de usar el enlace en Angular si es posible

Enlace único> Enlace unidireccional> Enlace bidireccional

El enlace One Time consume menos memoria, ya que establece el valor y se olvida.

El enlace unidireccional usa un poco más de memoria, ya que comprueba un lado pero aún mejor que el enlace bidireccional

El enlace bidireccional consume más memoria que la anterior, ya que constantemente vigila los valores de ambos lados.

Entonces, su pregunta es que Angualr JS realiza llamadas de función sin fin en caso de enlace bidireccional para mantenerlo actualizado, pero podemos evitarlo si es posible.

Espero que esto ayude !!!

No, esto no debería estar sucediendo. Necesitaría ver su código para investigar más a fondo.

More Interesting

¿Qué es SignalR? ¿Cómo podemos usarlo en ASP.NET C #?

¿Es posible encontrar un diseñador web que pueda hacer un sitio web profesional y sofisticado por menos de $ 1,000 con SEO?

¿Qué tipo de logotipo se adapta mejor a una cartera de desarrolladores web?

¿Es posible que alguien se convierta en diseñador web a tiempo completo a través de cursos en línea (y sin un título universitario)? En caso afirmativo, ¿cómo hacerlo?

¿Vale la pena aprender desarrollo web en 2016?

¿Cuál es el mejor editor de texto para diseño web?

¿Debo contratar a un diseñador para crear una maqueta de cada página de mi sitio web, incluso si uso Twitter Bootstrap?

Si solo está haciendo un sitio web informativo / educativo / hobby, ¿realmente necesita incluir su dirección en la política de privacidad?

Cómo diseñar una base de datos (Mongo) en Node.js (lado del servidor) para Angular JS. ¿Hay más de una colección o base de datos?

¿Cómo puedo desarrollar el diseño de mi sitio web a bajo precio en India?

¿Debo tomar trabajos de desarrollo web front-end en lugar de la ruta J2ee de pila completa y esto impactaría nuevamente en mi oportunidad como pila completa para otras empresas?

¿Puedes explicar los servicios en AngularJS?

¿Qué marco es el mejor marco PHP entre Yii, Laravel, CodeIgniter, Symfony, etc.? ¿Es cierto que PHP se está volviendo obsoleto? ¿Qué marco (s) va a ser el marco del futuro, lo más probable?

¿Cómo se usan las cookies en JavaScript?

¿Cuáles son algunas de las mejores prácticas para analizar y mejorar los tiempos de carga de su página?