lang:angular:service
Table des matières
Présentation
Un service a pour but d'étendre les fonctionnalités d'un composant. Le composant ne doit contenir que la partie affichage. Et donc il lui faut un service pour la partie logique.
Et il faut utiliser un service et non pas des méthodes statiques car un service peut s'appeler depuis la partie HTML, ce qui n'est pas le cas d'une méthode statique.
Base
Pour générer un service:
ng g s VersionService
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class VersionService { }
Et injecter le service dans la classe en tant que membre.
private versionService = inject(VersionService);
En mettant providedIn: 'root', c'est la même instance de VersionService qui sera partagée dans l'ensemble du programme.
Multiples instances
Si on veut avoir plusieurs instances où certains composants gèrent l'instanciation de la classe pour les composants enfants, il faut:
- autoriser plusieurs instances
@Injectable({ providedIn: null })
- Indiquer quel composant instancie le service dans les composants enfant.
@Component({ ... providers: [VersionService], })
lang/angular/service.txt · Dernière modification : de root
