Skip to content

Instantly share code, notes, and snippets.

@brenofreire
Created August 2, 2021 20:44
Show Gist options
  • Save brenofreire/2881f6ddbeb5f198b6fb28e7b259532e to your computer and use it in GitHub Desktop.
Save brenofreire/2881f6ddbeb5f198b6fb28e7b259532e to your computer and use it in GitHub Desktop.
Alura Anotações - Angular: Boas práticas em arquiteturas e formulários Angular: Boas práticas em arquiteturas e formulários

Alguns pontos interessantes que encontrei nesse curso

Sobre a criação de componentes via CLI

  • Você pode usar o -d te mostrar antes de criar, como vai fica a estrutura/path daquele componente

Lazy Loading

  • A estratégia de Lazy Loading de componentes diminui o bundle da aplicação e o download sob demanda faz diminuir o consumo de banda.

Você pode criar uma referência ao componente usando #, similar ao useRef do React

  • #nomeDoCampo = nome do attr pra referenciar um elemento
  <input type="text" #elementRef>
  <button (click)="show(elementRef)">Show</button>

Não é necessariemente do Angular mas é bom usar mais o safe navigation pra acessar propriedades de objetos.

  • const foo = a?.b?.c?.d.length;

O formGroup pode ser bom (as vezes)

  • Só isso mesmo, talvez formGroup não seja tão ruim. É uma alternativa ào approach template driven de validações de formulários.
  • A documentação tá aí... Basta ler

Palavras mágicas

  • É de suma importância evitar números, palavras e conteúdo estático no seu código que não seja explicitado sua função
  • Ex: ao invés de
  getPagination('2021-08-02', 0, 50)
  • Usar:
  const todayDate = '2020-08-02'
  const currentPage = 0
  const pageSize = 50
  getPagination(todayDate, currentPage, pageSize)

ngIf tem else :o usando o # pra criar referência com o componente em que você quer fazer a contrapartida

<div *ngIf="isValid; else templateName">
    If isValid is true
</div>

<ng-template #templateName>
    If isValid is false
</ng-template>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment