angular/aio/content/guide/two-way-binding.md
Antonio Cardenas 32577820f4
docs: translate two way binding (#287)
* cambios de sintaxicos
* translate: two ways data binding
* archivo en ingles agregado

Closes #233
2020-10-22 15:25:48 -04:00

3.4 KiB
Raw Blame History

Enlace bidireccional [(...)]

El enlace bidireccional le brinda a su aplicación una forma de compartir datos entre una clase de componente y la plantilla.

Consulta el para ver un ejemplo funcional que contiene los fragmentos de código de esta guía.

Conceptos básicos del enlace bidireccional

El enlace bidireccional hace dos cosas:

  1. Establece una propiedad de elemento específica.
  2. Escucha un evento de cambio de elemento.

Angular ofrece una sintaxis especial enlace de datos bidireccional para este propósito, [()]. La sintaxis [()] combina los corchetes de enlace de propiedad, [], con el paréntesis de vinculación de eventos, ().

[( )] = banana en una caja

Visualiza una banana en una caja para recordar que los paréntesis van dentro de los corchetes.

La sintaxis [()] es fácil de demostrar cuando el elemento tiene un valor configurable propiedad llamada x y un evento correspondiente llamado xChange. Aquí hay un SizerComponent que se ajusta a este patrón. Tiene una propiedad de valor size y un evento acompañante sizeChange:

El size inicial es un valor de entrada de un enlace de propiedad. Al hacer clic en los botones, aumenta o disminuye el size, dentro de restricciones de valor mínimo/máximo, y luego genera, o emite, el evento sizeChange con el tamaño ajustado.

Aquí hay un ejemplo en el que AppComponent.fontSizePx está enlazado en dos direcciones al SizerComponent:

El AppComponent.fontSizePx establece el valor inicial de SizerComponent.size.

Al hacer clic en los botones, se actualiza AppComponent.fontSizePx a través del enlace bidireccional. El valor revisado de AppComponent.fontSizePx fluye a través del enlace style, haciendo que el texto mostrado sea más grande o más pequeño.

La sintaxis de enlace bidireccional es en realidad sólo azúcar sintáctica para un enlace property y un enlace event. Angular quita el azúcar de el enlace SizerComponent en esto:

La variable $event contiene la carga útil del evento SizerComponent.sizeChange. Angular asigna el valor $event al ʻAppComponent.fontSizePx` cuando el usuario hace clic en los botones.

Enlace bidireccional en formularios

La sintaxis de enlace bidireccional es una gran comodidad en comparación con propiedades independientes y enlaces de eventos. Seria conveniente utilizar enlace bidireccional con elementos de formulario HTML como <input> y <select>. Sin embargo, ningún elemento HTML nativo sigue a el valor x y el patrón de evento xChange.

Para obtener más información sobre cómo utilizar la vinculación bidireccional en formularios, consulte Angular NgModel.