Les composants angulaires constituent la base des applications angulaires, offrant un moyen de créer des parties modulaires et réutilisables de l'interface utilisateur. Dans ce guide, nous aborderons les bases des composants angulaires, de leur structure aux meilleures pratiques. Que vous soyez nouveau sur Angular ou que vous recherchiez un rappel, cet article vous donnera une compréhension de base des composants dans Angular.
Dans Angular, un composant est une classe qui contrôle une partie de l'interface utilisateur (UI). Pensez aux boutons, aux onglets, aux entrées, aux formulaires et aux tiroirs (n'importe quel élément de l'interface utilisateur en fait). Chaque composant est autonome et se compose de :
Les composants sont essentiels à la création d'une application modulaire, car chacun peut représenter une partie spécifique d'une page, comme un en-tête, une barre latérale ou une carte.
Un composant angulaire est défini à l'aide du décorateur @Component, qui le configure avec le modèle, les styles et le sélecteur nécessaires. Voici un exemple simple :
import { Component } from '@angular/core'; @Component({ selector: 'app-example', templateUrl: './example.component.html', styleUrls: ['./example.component.css'] }) export class ExampleComponent { title: string = 'Hello, Angular!'; getTitle() { return this.title; } }
Dans cet exemple :
Les projets angulaires organisent généralement les composants avec leurs fichiers associés dans un seul dossier, créé automatiquement lors de l'utilisation de la CLI Angular. Une structure de dossiers typique pour un composant comprend :
Les composants angulaires ont un cycle de vie avec des hooks qui permettent aux développeurs d'effectuer des actions à différentes étapes. Les hooks de cycle de vie couramment utilisés incluent :
Par exemple, voici comment ngOnInit est utilisé :
import { Component } from '@angular/core'; @Component({ selector: 'app-example', templateUrl: './example.component.html', styleUrls: ['./example.component.css'] }) export class ExampleComponent { title: string = 'Hello, Angular!'; getTitle() { return this.title; } }
Les hooks de cycle de vie offrent une flexibilité, facilitant la gestion de la logique à des étapes spécifiques du cycle de vie d'un composant.
Dans les applications du monde réel, les composants doivent souvent interagir les uns avec les autres pour partager des données ou déclencher des actions. Angular propose plusieurs méthodes de communication entre les composants :
Exemple :
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-lifecycle', template: '<p>Lifecycle example</p>', }) export class LifecycleComponent implements OnInit { ngOnInit() { console.log('Component initialized!'); } }
// child.component.ts import { Component, Input, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'app-child', template: `<button (click)="sendMessage()">Send Message</button>`, }) export class ChildComponent { @Input() childMessage: string; @Output() messageEvent = new EventEmitter<string>(); sendMessage() { this.messageEvent.emit('Message from child!'); } }
Lorsque les composants ne sont pas dans une relation parent-enfant, les services Angular offrent un moyen simple de partager des données et de la logique. Les services sont singleton par défaut, ce qui signifie qu'une seule instance existe dans l'application.
<!-- parent.component.html --> <app-child [childMessage]="parentMessage" (messageEvent)="receiveMessage($event)"></app-child>
Utilisation du service dans différents composants :
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class SharedService { private messageSource = new BehaviorSubject<string>('Default Message'); currentMessage = this.messageSource.asObservable(); changeMessage(message: string) { this.messageSource.next(message); } }
// component-one.ts import { Component } from '@angular/core'; import { SharedService } from '../shared.service'; @Component({ selector: 'app-component-one', template: `<button (click)="changeMessage()">Change Message</button>`, }) export class ComponentOne { constructor(private sharedService: SharedService) {} changeMessage() { this.sharedService.changeMessage('Hello from Component One'); } }
Les composants angulaires sont au cœur de la création d'applications évolutives et modulaires. En comprenant leur structure, leur cycle de vie et leurs méthodes de communication, vous pouvez créer des applications efficaces et maintenables, faciles à comprendre et à exploiter.
Dans le prochain article, nous aborderons plus en détail le cycle de vie des composants angulaires, en explorant chaque hook et comment il peut être utilisé pour gérer efficacement les composants. Restez à l'écoute pour un aperçu plus approfondi des puissantes fonctionnalités de cycle de vie d'Angular !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!