Previously, some of the links on the error pages had URLs prefixed with `https://angular.io/`. This caused them to be treated as external URLs, which had the following downsides: - Links would always point to `angular.io` instead of the same version as the error page (e.g. `next.angular.io` or `v11.angular.io`). - Dgeni would not be able to check that the URLs are valid (i.e. point to existing pages). - An external link icon would incorrectly be shown next to the links on `angular.io`. This commit fixes the links to use relative URLs. PR Close #40881
13 lines
1.0 KiB
Markdown
13 lines
1.0 KiB
Markdown
@name Circular Dependency in DI
|
||
@category runtime
|
||
@videoUrl https://www.youtube.com/embed/CpLOm4o_FzM
|
||
@shortDescription Circular dependency in DI detected while instantiating a provider
|
||
|
||
@description
|
||
A cyclic dependency exists when a [dependency of a service](guide/hierarchical-dependency-injection) directly or indirectly depends on the service itself. For example, if `UserService` depends on `EmployeeService`, which also depends on `UserService`. Angular will have to instantiate `EmployeeService` to create `UserService`, which depends on `UserService`, itself.
|
||
|
||
@debugging
|
||
Use the call stack to determine where the cyclical dependency exists. You will be able to see if any child dependencies rely on the original file by [mapping out](guide/dependency-injection-in-action) the component, module, or service’s dependencies and identify the loop causing the problem.
|
||
|
||
Break this loop (or circle) of dependency to resolve this error. This most commonly means removing or refactoring the dependencies to not be reliant on one another.
|