當你嘗試注入一個服務,卻沒有宣告對應的 provider 時,就會看到這個錯誤。provider 是一種對應關係,提供一個可供注入的值,讓你能把它注入到應用程式中某個類別的建構函式裡。
想進一步了解 provider,請參閱我們的依賴注入指南。
如何除錯
從錯誤指出缺少 provider 的那個物件往回追蹤:No provider for <token> found。這個錯誤通常出現在服務中,因為服務需要不存在的 provider。
要修復這個錯誤,請確保你的服務已註冊在某個 NgModule 的 providers 清單中,或在頂層加上 @Service 裝飾器。
最常見的解法是把 provider 加在 @Service 中:
@Service()