# Como injetar um serviço no Discourse?

**URL:** <https://meta.discourse.org/t/how-to-inject-a-service-in-discourse/217533>\
**Category:** Development\
**Created:** [8 Fevereiro , 2022 17:00 UTC](https://meta.discourse.org/t/how-to-inject-a-service-in-discourse/217533 "2022-02-08T17:00:11Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)\
**Post date:** [8 Fevereiro , 2022 19:17 UTC](https://meta.discourse.org/t/how-to-inject-a-service-in-discourse/217533/5 "2022-02-08T19:17:55Z")

</div>

Chamar um método de componente de um serviço não é realmente uma boa prática, e o Ember não oferece uma maneira fácil de fazer isso. Pode haver várias instâncias de um componente, então como o serviço saberia em qual delas acionar a ação?

Dito isso, às vezes pode ser necessário fazer algo funcionar dentro das limitações do sistema de “plugin outlet” do Discourse.

Eu recomendaria o mesmo que @fzngagan - dê uma olhada em `appEvents`. Provavelmente é a maneira mais limpa de acionar a lógica do componente a partir de um serviço.

---

_[View the full topic](https://meta.discourse.org/t/how-to-inject-a-service-in-discourse/217533)._
