1
resposta

Dúvida sobre componentização em Angular

Estou usando o componete pronto ngx-spinner (https://napster2210.github.io/ngx-spinner/) na minha aplicação.

Tendo em vista que quero criar um modal e dentro do body do mesmo, colocar uma spinner para dar o feedback para o usuário, que ainda não está pronto o conteúdo que alí no (body) ficaria.

Quando eu tento reaproveitar este componente instanciando-o dentro do body do modal o mesmo não funciona. Será que eu teira que fazer do modal um componente generico da aplicação , para que o mesmo possa ser reaproveitado para demais funcionalidades que vá ter, e ai eu colocar no ts do componente modal um

setTimeout(() => { /** spinner ends after 5 seconds */ this.spinner.hide(); }, 5000);

Gostaria de um help,please!

1 resposta

Fala aí Ana, tudo bem? Bom, esse tipo de problema pode ser resolvido de N maneiras.

O que eu recomendaria:

Assim como você disse, criaria um componente de modal que fosse genérico para receber qualquer template, isso pode ser feito com o ng-content.

Dai, a regra de mostrar o spinner e depois esconder, pode ser feita nesse componente.

O que você também pode fazer, é criar um service para controlar quando o spinner deve ou não aparecer. Basicamente seria um service com um método recebendo um valor booleano.

Espero ter ajudado.