我们正在寻找一种方法来注册或监听通过路径加载的组件之外的Angular生命周期钩子。
现在组件必须实现AfterContentInit,AfterViewInit,OnInit等接口才能挂钩生命周期......
我们希望能够挂钩路径组件之外的生命周期事件。原因是我们正在构建一个框架,我们不想为所有组件强制执行基类。
这可能吗?
答案 0 :(得分:1)
当然,这是可能的,您可以使用ViewChild()和Output()一起控制子组件。
您无需实施角度生命周期,因为您可以手动控制操作。以下是app.component可以做的一个例子,让我们说:
在html中你会有你的子组件:
<app-child #refChild (onStateChange)="execParentFunc($event)"></app-child>
简单地说:
@ViewChild('refChild') myChildComponent: any;
然后你可以从你的父
执行功能this.myChildComponent.childFunction();
最后,您还可以使用Output()
捕捉孩子的变化childFunction() {
// process things...
let newValue = 'something';
this.onStateChange.emit(newValue);
}
==&GT;这将运行你的execParentFunc($ event),其中$ event = newValue在这种情况下