abrir o menu fechar menu

Diretivas em Angular

Em Angular, uma diretiva é uma classe que adiciona comportamento a um elemento do DOM, permitindo modificar o seu comportamento ou aparência. Existem dois tipos de diretivas em Angular: diretivas estruturais e diretivas de atributo.

As diretivas estruturais são responsáveis por modificar a estrutura do DOM, adicionando ou removendo elementos. As diretivas de atributo, por sua vez, são responsáveis por modificar a aparência ou comportamento de um elemento.

Para usar diretivas em um módulo Angular, primeiro é preciso definir a diretiva em seu próprio arquivo TypeScript. Por exemplo, considere a seguinte diretiva de atributo simples que altera a cor de fundo de um elemento do DOM:


    import { Directive, ElementRef } from '@angular/core';

    @Directive({
    selector: '[appFundoVerde]'
    })
    export class FundoVerdeDirective {
    constructor(el: ElementRef) {
        el.nativeElement.style.backgroundColor = 'green';
    }
    }

Nesse exemplo, estamos definindo uma diretiva chamada FundoVerdeDirective que adiciona a cor verde ao fundo do elemento em que ela é aplicada. A diretiva é definida com o seletor [appFundoVerde], o que significa que ela pode ser usada em elementos do DOM com o atributo appFundoVerde.

Para usar essa diretiva em um módulo Angular, basta importá-la no arquivo do módulo e declará-la na seção declarations do módulo. Por exemplo:


    import { NgModule } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { FundoVerdeDirective } from './fundo-verde.directive';

    @NgModule({
        declarations: [FundoVerdeDirective],
        imports: [BrowserModule],
        bootstrap: [AppComponent]
    })
    export class AppModule { }

Nesse exemplo, estamos definindo um módulo chamado AppModule que declara a diretiva FundoVerdeDirective. A diretiva é importada do arquivo fundo-verde.directive.ts e adicionada à seção declarations do módulo. O módulo também importa o módulo BrowserModule.