Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[ANGULAR-SP] rxjs, lifecyclehooks e eventbinding de um angular diferente

[ANGULAR-SP] rxjs, lifecyclehooks e eventbinding de um angular diferente

More Decks by Kamila de fatima santos oliveira

Other Decks in Programming

Transcript

  1. Tem um tipo "core" que é o Observable e os

    chamados tipos "secundários" ( Schedulers, Subscriptions,Subjects) O QUE É RXJS? @kamilah_santos
  2. Evite problemas com estados complexos, utilizando funções limpas de input/output

    em fluxos de Observables. REACTIVEX - FUNCIONAL @kamilah_santos
  3. Observables e Schedulers eliminam problemas de threads e sincronização TRABALHE

    COM CONCORRÊNCIA DE UM JEITO FÁCIL @kamilah_santos
  4. Aplicações reativas dependem da passagem de mensagens assíncronas para estabelecer

    um limite entre os componentes, garantindo um acoplamento flexível , isolamento e transparência MESSAGE DRIVEN @kamilah_santos
  5. Uma das grandes vantagens do Rxjs é porder criar funções

    puras, que tornam o seu código menos propenso a erros. PURITY @kamilah_santos
  6. QUAL A DIFERENÇA? Utilizando o rxjs, isolamos o estado do

    contador. O operador scan funciona de forma semelhante ao map em arrrays . O valor retornado do callback se tornará o próximo valor exposto na próxima vez que o retorno de chamada for executado. @kamilah_santos
  7. Para melhor controle do fluxo dos eventos, temos uma série

    de operadores para controlar nossas aplicações. FLOW @kamilah_santos
  8. Filtra os itens emitidos pela fonte Observável emitindo apenas aqueles

    que satisfazem um predicado específico. FLOW - FILTER @kamilah_santos
  9. Atrasa a emissão de itens da fonte Observable por um

    determinado tempo limite. FLOW - DELAY @kamilah_santos
  10. Retorna um Observable que emite todos os itens emitidos pelo

    Observable de origem que são distintos por comparação dos itens anteriores. FLOW - DISTINCT @kamilah_santos
  11. Mapeia cada valor de origem (um objeto) para sua propriedade

    aninhada especificada VALUES- PLUCK @kamilah_santos
  12. Emite o valor emitido mais recentemente da fonte Observable sempre

    que outro Observable, o notificador, emite VALUES- SAMPLE @kamilah_santos
  13. Por definição é uma coleção que funciona de forma unidirecional,

    ou seja, ele emite notificações sempre que ocorre uma mudança em um de seus itens e a partir disto podemos executar uma ação OBSERVABLES @kamilah_santos
  14. Se "inscrever" em um Observable é semelhante a chamar uma

    função e fornecer callbacks onde os dados serão entregues. SE "INSCREVENDO" PARA OBSERVABLES @kamilah_santos
  15. O código dentro da função subscribe o que será executado

    dentro do nosso Observable. EXECUTANDO OBSERVABLES @kamilah_santos
  16. Envia um notificação de que a operação foi concluida, mas

    não passa nenhum valor. EXECUTANDO OBSERVABLES - COMPLETE @kamilah_santos
  17. Operators são peças essenciais que possibilitam que códigos assíncronos complexos

    sejam facilmente desenvolvidos de forma declarativa. OPERATORS @kamilah_santos
  18. Podem ser chamados como standalone functions para criar um novo

    Observable CREATION OPERATORS @kamilah_santos
  19. É uma função que recebe um Observable e retorna outro

    Observable, é uma operação pura, pois o Observable anterior permanece inalterado. PIPEABLE OPERATORS @kamilah_santos
  20. • creation • transformation • filtering • joining, • multicasting

    • error handling • utility, etc CATEGORIAS DE OPERATORS @kamilah_santos
  21. É um objeto que representa um recurso "discartável" , geralmente

    a execução de um observable. SUBSCRIPTIONS @kamilah_santos
  22. É um tipo especial de Observable que permite que valores

    sejam multicasted para vários Observers. SUBJECTS @kamilah_santos
  23. Todo subject é um Observable, dado um Subject, você pode

    se inscrever nele por meio de um Observer, que vai passar a receber valores normalmente. SUBJECTS @kamilah_santos
  24. Do ponto de vista do Observer, não de pode dizer

    se a execução do Observable é vinda de um simples Observable ou um Subject Unicast. SUBJECTS @kamilah_santos
  25. • É uma estrutura de dados • É um contexto

    de execução • Tem um relógio virtual SCHEDULERS @kamilah_santos
  26. Todo componente angular tem um ciclo de vida: passa pelo

    processo de criação, execução e possível destruição. O QUE SÃO LIFECYCLE HOOKS? @kamilah_santos
  27. Isso é realizado pelo Angular criando o componente, renderizando, criando

    e renderizando seus filhos, verificando modificações nas propriedades e no DOM, realizando alterações, destruindo e removendo do DOM. O QUE SÃO LIFECYCLE HOOKS? @kamilah_santos
  28. É o primeiro lifeCycle Hook é chamado logo após a

    inicialização da classe e o componente é criado ngOnChanges() @kamilah_santos
  29. Também é chamado quando há alteração de propriedade dentro do

    seu componente. ngOnChanges() @kamilah_santos
  30. Este é chamado depois do ngOnChanges(), só é chamado uma

    única vez, inicializa o componente, define e exibe suas propriedades de entrada. ngOnInit() @kamilah_santos
  31. É o lifeCycle mais importante do Angular, pois "alerta" que

    um componente foi criado. ngOnInit() @kamilah_santos
  32. É chamado durante todas verificações de mudança durante a execução,

    geralmente depois que o NgOnInit é chamado ngDoCheck() @kamilah_santos
  33. Só é executado uma vez depois que o primeiro ngDoCheck

    é chamado, semelhando ao ngDoCheck, mas projetado para visualização do componente. ngAfterContentInit() @kamilah_santos
  34. Este hook é chamado depois que o conteúdo projetado para

    a visualização do componente é inicializado, após o ngAfterContentInit e ngDoCheck forem chamados. ngAfterContentChecked() @kamilah_santos
  35. Chamado após as visualizações dos componentes e seus subsequentes filhos,

    após a execução do hook ngAfterContentChecked ngAfterViewInit() @kamilah_santos
  36. O último lifeCycle , é chamado antes do componente ser

    ser removido do DOM ngOnDestroy() @kamilah_santos
  37. É feita a limpeza do componente, desde a desanexação de

    event handlers até a desinscrição de observables. ngOnDestroy() @kamilah_santos
  38. Utilizamos o eventBinding para vincular um código da aplicação a

    um determinado evento do disparado pelo navegador. Event Binding
  39. 1-Qual elemento emitirá o evento? 2- Qual o nome do

    evento que será emitido? 3- Qual o nome do método do componente que será executado em resposta ao evento? O que precisamos saber?
  40. Ouve o pressionamento da tecla Enter, pois sinaliza que o

    usuário terminou de digitar. Keyup.enter