En aquest tema, explorarem les plantilles de components a Angular. Les plantilles són una part fonamental dels components, ja que defineixen la vista que es renderitza a l'usuari. Aprendrem com crear i utilitzar plantilles, així com algunes tècniques avançades per millorar la seva funcionalitat.
Continguts
Què és una plantilla de component?
Una plantilla de component és un bloc de codi HTML que defineix la vista associada a un component. Aquesta vista pot incloure elements HTML, enllaços de dades, directives i altres components Angular.
Sintaxi bàsica de les plantilles
Les plantilles es defineixen dins del decorador @Component
utilitzant la propietat template
o templateUrl
.
Exemple amb template
@Component({ selector: 'app-example', template: ` <h1>Hola, {{ nom }}!</h1> <p>Aquesta és una plantilla de component.</p> ` }) export class ExampleComponent { nom: string = 'Món'; }
Exemple amb templateUrl
@Component({ selector: 'app-example', templateUrl: './example.component.html' }) export class ExampleComponent { nom: string = 'Món'; }
I el fitxer example.component.html
:
Interpolació
L'interpolació és una tècnica que permet inserir valors de les propietats del component dins de la plantilla utilitzant la sintaxi {{ }}
.
Exemple d'interpolació
En aquest exemple, el valor de la propietat nom
del component es mostrarà dins de l'element <h1>
.
Enllaç de propietats
L'enllaç de propietats permet establir valors d'atributs HTML basats en les propietats del component.
Exemple d'enllaç de propietats
En aquest exemple, l'atribut src
de l'element <img>
es vincula a la propietat imatgeUrl
del component.
Enllaç d'esdeveniments
L'enllaç d'esdeveniments permet associar esdeveniments HTML a mètodes del component.
Exemple d'enllaç d'esdeveniments
I el mètode saludar
al component:
Directives estructurals
Les directives estructurals canvien la disposició del DOM afegint o eliminant elements. Les directives més comunes són *ngIf
i *ngFor
.
Exemple de *ngIf
Exemple de *ngFor
Exercicis pràctics
Exercici 1: Crear una plantilla amb interpolació
- Crea un nou component anomenat
SalutacioComponent
. - Defineix una propietat
nom
al component. - Utilitza la interpolació per mostrar un missatge de benvinguda a la plantilla.
Solució
// salutacio.component.ts @Component({ selector: 'app-salutacio', template: ` <h1>Hola, {{ nom }}!</h1> ` }) export class SalutacioComponent { nom: string = 'Estudiant'; }
Exercici 2: Utilitzar enllaç de propietats i esdeveniments
- Afegeix una imatge a la plantilla utilitzant l'enllaç de propietats.
- Afegeix un botó que canviï la imatge quan es faci clic.
Solució
// imatge.component.ts @Component({ selector: 'app-imatge', template: ` <img [src]="imatgeUrl" alt="Imatge d'exemple"> <button (click)="canviarImatge()">Canvia la imatge</button> ` }) export class ImatgeComponent { imatgeUrl: string = 'https://via.placeholder.com/150'; canviarImatge() { this.imatgeUrl = 'https://via.placeholder.com/200'; } }
Conclusió
En aquesta secció, hem après què són les plantilles de components i com utilitzar-les per crear vistes dinàmiques a Angular. Hem explorat la sintaxi bàsica, la interpolació, l'enllaç de propietats i esdeveniments, així com les directives estructurals. A més, hem practicat aquests conceptes amb exercicis pràctics. En el proper tema, aprofundirem en els estils de components.
Curs d'Angular
Mòdul 1: Introducció a Angular
- Què és Angular?
- Configuració de l'entorn de desenvolupament
- Arquitectura d'Angular
- Primera aplicació Angular
Mòdul 2: Components d'Angular
- Comprendre els components
- Crear components
- Plantilles de components
- Estils de components
- Interacció de components
Mòdul 3: Enllaç de dades i directives
- Interpolació i enllaç de propietats
- Enllaç d'esdeveniments
- Enllaç de dades bidireccional
- Directives integrades
- Directives personalitzades
Mòdul 4: Serveis i injecció de dependències
Mòdul 5: Enrutament i navegació
Mòdul 6: Formularis a Angular
Mòdul 7: Client HTTP i observables
- Introducció al client HTTP
- Fer sol·licituds HTTP
- Gestionar respostes HTTP
- Utilitzar observables
- Gestió d'errors
Mòdul 8: Gestió d'estat
- Introducció a la gestió d'estat
- Utilitzar serveis per a la gestió d'estat
- NgRx Store
- NgRx Effects
- NgRx Entity
Mòdul 9: Proves a Angular
- Proves unitàries
- Proves de components
- Proves de serveis
- Proves de cap a cap
- Simulació de dependències
Mòdul 10: Conceptes avançats d'Angular
- Angular Universal
- Optimització del rendiment
- Internacionalització (i18n)
- Tubs personalitzats
- Animacions d'Angular