Avatar ·

@Directive et @Component dans Angular : quelle est la différence et quand utiliser quoi ?

Bonjour à tous ! J'ai commencé à étudier Angular et TypeScript, et en créant mes premiers components et directives, je me suis perdu dans la différence entre les décorateurs `@Component` et `@Directive`. Dans la documentation, il est écrit que `@Component` est une sous-classe de `@Directive`, mais en pratique, ils sont utilisés différemment. Par exemple, je crée un simple bouton qui change de couleur au survol. Je peux le faire à la fois avec un component et avec une directive. Voici mon code : **Variante avec @Component :** ```typescript import { Component } from '@angular/core'; @Component({ selector: 'app-hover-button', template: ``, styles: [` .highlight { background-color: yellow; } `] }) export class HoverButtonComponent { onHover() { /* ajouter une classe */ } onLeave() { /* retirer une classe */ } } ``` **Variante avec @Directive :** ```typescript import { Directive, HostListener, HostBinding } from '@angular/core'; @Directive({ selector: '[appHover