Angular ivy 修补生命周期挂钩不起作用

Angular ivy patching life-cycle hook doesn't work

我有一个接受组件实例并覆盖 ngOnDestroy 挂钩的函数:

export function patch(instance) {
 instance['ngOnDestroy'] = function() {
   console.log('ngOnDestroy');
  }
}

并且在组件中:

  ngOnInit() {
    patch(this);
  }

但是我没有看到组件销毁时的日志。为什么它不起作用?

ViewEnging 直接从组件实例运行方法。相反,Ivy 在组件创建之初就收集了组件视图中的所有生命周期方法,因此以后的更改根本不会有影响。