一段时间以来,我一直在努力从循环依赖中清理代码库,但是在某些情况下,我无法找到一种方法来绕过循环依赖,而无需更改当前构建组件的方式。
示例:
// parent.component.ts
import { ChildComponent } from './child.component';
...
@ContentChildren() items: ChildComponent
#################################################################
// child.component.ts
import { ParentComponent} from './parent.component';
...
constructor(@Host() private parentComponent: ParentComponent) { }
在上述情况下,我是否必须重构代码以改为使用服务,还是有其他方法摆脱循环依赖?
答案 0 :(得分:0)
对于TS类,您可以执行以下操作:
export class Child{
_parent;
constructor(parent)
{
this._parent = parent
}
get parent(): ParentClass { return this._parent}
}
答案 1 :(得分:-2)
通常,您可以通过注入Injector
并在ngOnInit
中或在您确实需要使用它的任何地方,通过注入(
并向其请求依赖来解决循环依赖。