Как правильно пользоваться OnDestroy

Я видел много вопросов, связанных с ngOnDestroy. Я думаю, что многие из нас не используют это правильно или не используют это вообще.
Я просто хочу увидеть список советов, как правильно использовать ngOnDestroy и что мы должны делать в лучшем сценарии, чтобы предотвратить утечки памяти, ускорить и оптимизировать веб-приложения.
Что вы должны делать в каждом случае, когда вы его используете?(Какие шаги вы ДОЛЖНЫ предпринять?)
Как далеко вам нужно идти, если вы хотите сделать это идеально? Аннулирование всех ссылок и т. Д.

2 ответа

Решение

Один сценарий, в котором вы используете Observable и подписываетесь на него в компоненте и получаете поток данных, например Firebase. Вы должны использовать ngOnDestroy и отменить подписку, когда вы покидаете страницу, чтобы предотвратить утечку памяти.

ngOnDestroy() {
  this.data.unsubscribe();
}

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);
  }
}
Другие вопросы по тегам