如何在组件销毁时延迟“ngondestroy”钩子调用?

Kum*_* Sd 5 javascript angular-directive angular angular-lifecycle-hooks

我想延迟ngOndestroy钩子调用,因为我面临一个问题,即我创建了角度应用程序,因为我使用了动画。

示例 - https://stackblitz.com/edit/angular-iribr7-zorjpc?file=app.component.html

当我按下toggl按钮时,我的组件会显示动画。当我第二次按下该按钮时,我的组件在动画之前被破坏。

在我的组件ngOndestroyhooka 中,我在下面使用了:

    ComponentBase.prototype.ngOnDestroy = function () {
        /* istanbul ignore else  */
        if (typeof window !== 'undefined' && this.element.classList.contains('e-control')) { 
        /* used to delete DOM element to avoid memory leak */
            this.destroy(); 
        /* used to delete template refrences to avoid memory leak */
            this.clearTemplate(null);  ------> used 
        }
    };
Run Code Online (Sandbox Code Playgroud)

我也尝试过settimeout方法,虽然setTimout在调试时使用它可以正常工作,但又没有出现同样的问题

我期待任何其他解决方法或建议来解决这个问题.....

我试过如下,但我没有运气----------

https://stackblitz.com/edit/angular-iribr7-bxvnwg?file=app.component.html