我正在使用this post中的以下混音 这使我的组件可以访问一组可重用的方法,包括调用生命周期钩子。
然而,通过AOT构建,似乎OnInit和OnDestroy不会被触发。有没有解决方案来执行它?
export function Destroyable<T extends Constructor<{}>>(Base: T) {
return class Mixin extends Base implements OnDestroy {
private readonly subscriptions: Subscription[] = [];
protected registerSubscription(sub: Subscription) {
this.subscriptions.push(sub);
}
public ngOnDestroy() {
this.subscriptions.forEach(x => x.unsubscribe());
this.subscriptions.length = 0; // release memory
}
};
}
任何组件中的
export class CMP extends destroyable(){
constructor(){ super() }
}