Els components són la pedra angular d'una aplicació Angular. Cada component encapsula una part de la interfície d'usuari (UI) i la seva lògica associada. En aquest tema, aprendrem com crear components en Angular, com estructurar-los i com utilitzar-los en una aplicació.

Objectius

  • Entendre què és un component en Angular.
  • Aprendre a crear un component nou.
  • Comprendre l'estructura d'un component.
  • Utilitzar components dins d'altres components.

Què és un component?

Un component en Angular és una classe TypeScript que conté la lògica de la UI i està associada amb una plantilla HTML i opcionalment amb estils CSS. Cada component té un selector que permet inserir-lo en altres plantilles.

Creació d'un component nou

Pas 1: Generar un component

Angular CLI (Command Line Interface) facilita la creació de components. Per generar un component nou, utilitza el següent comandament:

ng generate component nom-del-component

Per exemple, per crear un component anomenat hello-world, executa:

ng generate component hello-world

Aquest comandament crearà quatre fitxers nous en una carpeta anomenada hello-world:

  • hello-world.component.ts: La classe del component.
  • hello-world.component.html: La plantilla HTML del component.
  • hello-world.component.css: Els estils CSS del component.
  • hello-world.component.spec.ts: Fitxer de proves unitàries per al component.

Pas 2: Estructura d'un component

Després de generar el component, revisem l'estructura del fitxer hello-world.component.ts:

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

@Component({
  selector: 'app-hello-world',
  templateUrl: './hello-world.component.html',
  styleUrls: ['./hello-world.component.css']
})
export class HelloWorldComponent {
  // Aquí va la lògica del component
}
  • @Component Decorator: Defineix el component i les seves metadades.
    • selector: El nom del component que s'utilitzarà en les plantilles HTML.
    • templateUrl: La ruta al fitxer HTML del component.
    • styleUrls: La ruta al fitxer CSS del component.

Pas 3: Utilitzar el component

Per utilitzar el component HelloWorldComponent en una altra plantilla, simplement afegeix el seu selector en el fitxer HTML de la plantilla pare:

<app-hello-world></app-hello-world>

Exemple pràctic

Suposem que volem crear un component que mostri un missatge de benvinguda. Seguim els passos següents:

  1. Generem el component:
ng generate component welcome
  1. Editem el fitxer welcome.component.ts per afegir una propietat message:
import { Component } from '@angular/core';

@Component({
  selector: 'app-welcome',
  templateUrl: './welcome.component.html',
  styleUrls: ['./welcome.component.css']
})
export class WelcomeComponent {
  message: string = 'Benvingut a la nostra aplicació Angular!';
}
  1. Editem el fitxer welcome.component.html per mostrar el missatge:
<h1>{{ message }}</h1>
  1. Utilitzem el component WelcomeComponent en la plantilla principal app.component.html:
<app-welcome></app-welcome>

Exercici pràctic

Objectiu: Crear un component que mostri una llista d'elements.

  1. Genera un component anomenat item-list.
  2. Afegeix una propietat items en la classe del component que sigui una llista de cadenes.
  3. Mostra la llista d'elements en la plantilla HTML utilitzant la directiva *ngFor.

Solució:

  1. Genera el component:
ng generate component item-list
  1. Editem el fitxer item-list.component.ts:
import { Component } from '@angular/core';

@Component({
  selector: 'app-item-list',
  templateUrl: './item-list.component.html',
  styleUrls: ['./item-list.component.css']
})
export class ItemListComponent {
  items: string[] = ['Element 1', 'Element 2', 'Element 3'];
}
  1. Editem el fitxer item-list.component.html:
<ul>
  <li *ngFor="let item of items">{{ item }}</li>
</ul>
  1. Utilitzem el component ItemListComponent en la plantilla principal app.component.html:
<app-item-list></app-item-list>

Resum

En aquesta secció, hem après què és un component en Angular, com crear-ne un de nou utilitzant Angular CLI, i com utilitzar-lo en altres plantilles. També hem vist un exemple pràctic i hem realitzat un exercici per reforçar els conceptes apresos. Els components són fonamentals per a la construcció d'aplicacions Angular modulars i reutilitzables. En la següent secció, explorarem les plantilles de components en més detall.

Curs d'Angular 2+

Mòdul 1: Introducció a Angular

Mòdul 2: Conceptes bàsics de TypeScript

Mòdul 3: Components i plantilles

Mòdul 4: Directives i pipes

Mòdul 5: Serveis i injecció de dependències

Mòdul 6: Enrutament i navegació

Mòdul 7: Formularis en Angular

Mòdul 8: Client HTTP i observables

Mòdul 9: Gestió d'estat

Mòdul 10: Proves en Angular

Mòdul 11: Temes avançats

Mòdul 12: Desplegament i millors pràctiques

© Copyright 2024. Tots els drets reservats