Notas

Tipos de Data Binding

En Angular, el enlace de datos (data binding) es un mecanismo fundamental que permite sincronizar los datos entre la vista (template) y el modelo (componente) de una aplicación. Angular proporciona varios tipos de enlace de datos para manejar diferentes escenarios de sincronización de datos. A continuación, se explican los principales tipos de enlace de datos en Angular:

1. Interpolación (String Interpolation)

La interpolación es el tipo más sencillo de enlace de datos en Angular. Permite insertar valores calculados, propiedades de componentes o resultados de expresiones directamente en el template HTML. Se utiliza la sintaxis de doble llave {{ }}.

Ejemplo:

<h1>{{ title }}</h1>

Componente:

export class AppComponent {
  title = 'Hello, Angular!';
}

2. Enlace de Propiedades (Property Binding)

El enlace de propiedades permite asignar valores de las propiedades del componente a las propiedades de los elementos HTML. Se utiliza la sintaxis de corchetes [].

Ejemplo:

<img [src]="imageUrl" alt="Description">

Componente:

export class AppComponent {
  imageUrl = 'https://example.com/image.jpg';
}

3. Enlace de Eventos (Event Binding)

El enlace de eventos permite responder a eventos del usuario, como clics, entradas de teclado, etc., y ejecutar métodos en el componente. Se utiliza la sintaxis de paréntesis ().

Ejemplo:

<button (click)="onClick()">Click me</button>

Componente:

export class AppComponent {
  onClick() {
    console.log('Button clicked!');
  }
}

4. Enlace de Dos Vías (Two-Way Binding)

El enlace de dos vías permite sincronizar los datos entre la vista y el modelo en ambas direcciones. Se utiliza la sintaxis de banana-in-a-box [()]. Este tipo de enlace es comúnmente utilizado con el directiva ngModel.

Ejemplo:

<input [(ngModel)]="name">

Componente:

import { Component } from '@angular/core';
import { FormsModule } from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  imports: [FormsModule]
})
export class AppComponent {
  name = 'Angular';
}

5. Enlace de Atributos (Attribute Binding)

El enlace de atributos permite asignar valores a los atributos de los elementos HTML. Se utiliza la sintaxis de corchetes [] con el prefijo attr..

Ejemplo:

<div [attr.aria-label]="label"></div>

Componente:

export class AppComponent {
  label = 'Description';
}

6. Enlace de Clases (Class Binding)

El enlace de clases permite agregar o quitar clases CSS a los elementos HTML basados en expresiones booleanas. Se utiliza la sintaxis de corchetes [] con el prefijo class..

Ejemplo:

<div [class.active]="isActive"></div>

Componente:

export class AppComponent {
  isActive = true;
}

7. Enlace de Estilos (Style Binding)

El enlace de estilos permite aplicar estilos CSS a los elementos HTML basados en expresiones. Se utiliza la sintaxis de corchetes [] con el prefijo style..

Ejemplo:

<div [style.color]="isSpecial ? 'red' : 'black'"></div>

Componente:

export class AppComponent {
  isSpecial = true;
}

Last updated