Avatar ·

¿Cuál es la diferencia entre @Directive y @Component en Angular?

¡Hola a todos! Acabo de empezar a aprender Angular y TypeScript, y tengo confusión con los decoradores @Directive y @Component. Entiendo que ambos se usan para crear algún tipo de "entidades" en Angular, pero no termino de entender cuándo aplicar cada uno. Por ejemplo, creé un componente simple para mostrar un botón: ```typescript import { Component } from '@angular/core'; @Component({ selector: 'app-my-button', template: `` }) export class MyButtonComponent { label = 'Presióname'; } ``` Y luego intenté hacer lo mismo con una directiva: ```typescript import { Directive } from '@angular/core'; @Directive({ selector: '[appMyButton]' }) export class MyButtonDirective { // ¿Cómo agrego template y estilos aquí? } ``` Leí que `@Component` es una subclase de `@Directive`, pero en la práctica se comportan de manera diferente. En `@Directive` no se pueden usar `template` y `styles`, mientras que en `@Component` sí. ¿Para qué sirve entonces `@Directive`?