1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Angular 6 render e comunicação entre components

Discussão em 'Web Development' iniciada por LbrT, 20 de Outubro de 2018. (Respostas: 1; Visualizações: 134)

  1. Bom dia,

    Estou a iniciar me em angular e deparei me com duas questões que gostava de tentar esclarecer com que percebe disto.

    1 - Criei uma aplicação em que na minha pagina principal tenho uma sidanav, uma toolbar e content.

    A sidenav e a toolbar são components que serão mostrados caso o utilizador esteja logado e o content tem um <router-outlet> por onde serão passados os vários componentes da aplicação. Sempre que faço login o render dos componentes sidenav e toolbar é feito com sucesso com o (ngOnInit) mas quando faço logout(num component filho que será passado pelo router-outlet) não, pois não volta a correr a função e fazer o respectivo render da página. Resolvi usando o (OnDoCheck), mas reparei que sempre que insiro um carácter( ou qualquer outra acção) ele é disparado. Isto não é muito pesado para a aplicação?

    Existe outra maneira de correr uma função na "app.component.ts" sempre e só se for feito logout, neste caso, num component filho que ira passar no <router-outlet> ?

    2- Tentei usar uma flag passando a variável filho -> pai.

    Usei o @output no filho com o EventEmitter mas a duvida está como o recebo no pai. Normalmente faria <app-filho (variavel-filho)="funcao-pai($event)">, mas como estou a passar estes componentes com o <router-outlet> existe alguma maneira de passar esse valor?



    Espero ter passado a minha dúvida de forma minimamente perceptível.

    Desde já obrigado,

    Cumprimentos. Luís Brito
     
  2. rullerz

    rullerz Power Member

    hint*
    Nunca faças store de data em components, usa sempre um service para tratar de dados, tenta fazer os componentes o mais puro possivel.
     

Partilhar esta Página