代码之家  ›  专栏  ›  技术社区  ›  Jánosi-Borsos Róbert

如何正确使用OnDestroy

  •  0
  • Jánosi-Borsos Róbert  · 技术社区  · 6 年前

    我见过很多关于非政府部门的问题。我认为我们中的许多人没有正确使用它,或者根本没有使用它。
    我只想看一个提示列表,如何正确使用NgonDestroy,以及在最佳方案中我们应该做些什么来防止内存泄漏、加快和优化Web应用程序。
    当你使用它的时候,在任何情况下你都必须做什么?(你必须采取什么步骤?)
    如果你想做到完美,你需要走多远?取消所有参考等。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Balaj Khan Prajwal Shrestha    6 年前

    一个场景是,您使用Observable并在组件中订阅它,并获得一个数据流,即FireBase。您应该使用NgonDestroy并在离开页面时取消订阅,以防止内存泄漏。

    ngOnDestroy() {
      this.data.unsubscribe();
    }
    
        2
  •  1
  •   Sneha Pawar    6 年前

    在组件实例最终销毁之前,在组件的生命周期中调用ngdestroy。这是清洗组件的最佳位置。

    import {OnDestroy } from '@angular/core'; // import from core
    @Directive({
       selector: '[destroyDirective]'
     })
    export class OnDestroyDirective implements OnDestroy { // implements OnDestroy
    
      //Call Constructor and set hello Msg.
      constructor() {
         this.helloMsg = window.setInterval(() => alert('Hello, I am Anil'), 2000);
      }
    
      //Destroy to the component
      ngOnDestroy() { 
          window.clearInterval(this.helloMsg);
      }
    }
    
    推荐文章