[問題] Component 如何動態注入 Service ?

各位大大好,

小弟是剛接觸angular的新手,目前正在製作一個shared child component。

這個shared child component,會因為parent component 或 ancestor parent component
必須注入不同的servcie。

目前爬過官網跟stackoverflow,得到的解法是:
透過@Input 傳遞 service name,再透過injector 動態注入相對應的service,
但是官網不太推薦這種做法。

也有想過@Output,但是擔心會有很多層component。

不知道是否有更合適的做法?

動態注入 service?! 你所要達到的事情是什麼?

shared component 會 emit 相同的 user input event

但是處理 input event 的邏輯,會因為 parent component 的不同

必須注入相關的 service 來做處理

希望能達到相同的 user input event,可以透過不同的service解決

感謝Kevin大大的回覆!

給你一個思考方向,如果 shared component 會有不同的邏輯時,那你就不應該把邏輯放在 shared component 內,透過 output 的方式將 shared component 的事件傳出來給 parent component 處理就好
這樣子就不用去考慮 DI 的問題

好的,我會朝這方向嘗試看看!

謝謝Kevin大大 :grinning: