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.
- ¿Cuál es la forma simple de poblar una ontología usando texto anotado?
- ¿Cómo debería ser una página de inicio moderna y efectiva?
- ¿Cuál es la mejor encuesta para insertar en su sitio web?
- ¿Cuáles deberían ser las recomendaciones para la programación PHP sin 'frameworks'?
- ¿Por qué necesito escribir HTML dentro del código React?
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
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 !!!