0Pricing
Angular Academy · Aula

Criando comportamentos reutilizáveis

Empacote comportamentos como diretivas combináveis.

Criando comportamentos reutilizáveis é uma aula grátis de Angular Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Angular Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Angular Academy inclui 4 aulas no total.

Comportamentos como blocos de construção

A API de composição se destaca quando você cria diretivas pequenas e focadas, cada uma encapsulando um comportamento, e depois as compõe nos componentes conforme necessário.

Uma diretiva de finalidade única

Mantenha cada comportamento pequeno e independente.

@Directive({
  selector: '[appElevate]'
})
export class ElevateDirective {
  @HostBinding('style.boxShadow')
  shadow = '0 2px 8px rgba(0,0,0,.15)';
}

Um comportamento de passagem do cursor

Outro comportamento detecta a passagem do cursor e alterna uma classe.

@Directive({ selector: '[appHoverClass]' })
export class HoverClassDirective {
  @HostBinding('class.is-hover') hovering = false;
  @HostListener('mouseenter') on() { this.hovering = true; }
  @HostListener('mouseleave') off() { this.hovering = false; }
}

Compondo comportamentos

Um componente de cartão compõe ambos os comportamentos sem nenhuma configuração no modelo.

@Component({
  selector: 'app-card',
  hostDirectives: [ElevateDirective, HoverClassDirective],
  template: '<ng-content></ng-content>'
})
export class CardComponent {}

Reutilização entre componentes

Os mesmos comportamentos podem ser compostos em botões, blocos ou painéis. Defina uma vez e reutilize em todos os lugares, sem duplicação.

Comportamentos configuráveis

Adicione entradas para tornar um comportamento ajustável e depois exponha-as nos locais em que ele for composto.

@Directive({ selector: '[appElevate]' })
export class ElevateDirective {
  level = input(1);
}

Expondo o controle

Exponha a entrada configurável para que cada hospedeiro possa defini-la.

hostDirectives: [{
  directive: ElevateDirective,
  inputs: ['level']
}]

Coordenando comportamentos

Os comportamentos podem injetar uns aos outros por meio do injetor do elemento para se coordenarem; por exemplo, um efeito de ondulação pode reagir a um estado pressionado.

Testabilidade

Comportamentos pequenos são fáceis de testar em unidade e, depois, podem ser usados com confiança quando compostos, melhorando a confiabilidade geral.

Convenções de nomenclatura

Dê aos comportamentos nomes relacionados ao que fazem (appElevate, appHoverClass, appAutofocus). Nomes claros tornam a composição autoexplicativa.

Uma biblioteca de comportamentos

Com o tempo, você cria uma biblioteca de comportamentos combináveis que qualquer componente pode optar por usar, reduzindo significativamente a lógica repetida do hospedeiro.

Verificação rápida

Teste sua compreensão sobre comportamentos reutilizáveis.

Recapitulação

Você aprendeu a criar diretivas pequenas e independentes, cada uma encapsulando um comportamento, a compô-las com hostDirectives, expor entradas ajustáveis e criar uma biblioteca de comportamentos reutilizável e testável.

Perguntas Frequentes

A aula “Criando comportamentos reutilizáveis” é grátis?

Sim — o texto completo de “Criando comportamentos reutilizáveis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Angular Academy, atualize para CoddyKit PRO. O curso de Angular Academy inclui 4 aulas no total.

O que vou aprender em “Criando comportamentos reutilizáveis”?

Empacote comportamentos como diretivas combináveis. Você pratica Angular Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Angular Academy?

Nenhuma experiência prévia é necessária. Angular Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Criando comportamentos reutilizáveis”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Angular Academy?

Sim. Cada aula de Angular Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. A propriedade hostDirectives
  2. Expondo entradas e saídas
  3. Criando comportamentos reutilizáveis
  4. Composição versus herança
← Voltar para Angular Academy