1
resposta

Injeção de Serviços

Ola,

Reparei que quando estamos usando providedIn : 'root', não precisamos declara-lo em providers do app.module, porém quando o serviço é especifico de um modulo eu declaro ele no módulo e tiro o provededIn, quando esta no root nao preciso declara-lo em nenhum provider de modulo ? existe o escopo de componente também pelo que já vi, posso declarar diretamente no provider de um componente e aquele serviço fica disponivel somente para aquele componente ?

1 resposta

Fala ai Jhonatan, tudo bem? Quando a gente utiliza providedIn: 'root' o serviço vai estar disponível globalmente para qualquer lugar da aplicação o container de injeção do Angular vai conseguir injetá-lo.

Se você quer algo mais específico por módulo pode fazer via provides do módulo ou via componente como você disse.

Minha recomendação seria seguir com providedIn mesmo ou no máximo via módulos, injetar apenas por componentes é um pouco fora do padrão que você vai ver ver por ai.

Espero ter ajudado.