當某個服務的依賴直接或間接依賴該服務本身時,就存在循環依賴。例如,UserService 依賴 EmployeeService,而 EmployeeService 也依賴 UserService。Angular 必須先將 EmployeeService 實例化才能建立 UserService,但 UserService 本身又依賴 UserService。
如何除錯
利用呼叫堆疊判斷循環依賴出現在哪裡。你可以梳理出元件、模組或服務的依賴關係,看看是否有子依賴回頭依賴原始檔案,並找出造成問題的那個迴圈。
打破這個依賴迴圈(或圓圈)即可解決這個錯誤。這通常表示要移除這些依賴,或重構它們,讓彼此不再互相依賴。