JavaScript IntersectionObserver.disconnect() — зупинити спостерігач
Метод disconnect() припиняє спостереження за всіма елементами одразу.
Загальний опис
Різниця з unobserve() — у масштабі: той знімає один елемент, цей вимикає спостерігач цілком.
Місце виклику одне — знищення компонента. Пішли зі сторінки, закрили модальне вікно, розібрали віджет — спостерігач треба вимкнути, інакше він триматиме посилання на елементи, і вони не звільнять пам'ять.
Після disconnect() спостерігач можна використати знову: просто покликати observe() ще раз.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| disconnect | 51+ | 55+ | 12.1+ | 38+ | 15+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| disconnect | 51+ | yes | yes | 12.2+ |
Приклади
+ запропонувати свій приклад у пісочниці
Прибирання за собою при знищенні компонента.
class Feed {
constructor() {
this.observer = new IntersectionObserver(this.onScroll);
this.observer.observe(this.sentinel);
}
destroy() {
// без цього елементи не звільнять пам'ять
this.observer.disconnect();
}
}
Коментарі
Коментарів ще немає — будьте першим!