TGViewer
Frontender Libs - обзор библиотек JS / CSS Frontender Libs - обзор библиотек JS / CSS @swebdev · 7.44K subscribers
Post #3361 1.23K
Управление зонами через NgZone.runOutsideAngular()

Метод runOutsideAngular() из Angular позволяет выполнять код за пределами зоны Angular. Это предотвращает избыточное обнаружение изменений, ускоряя приложение в сценариях, где Angular не должен отслеживать изменения. Такой подход полезен для обработки скроллинга, таймеров или анимаций.

Пример:
import { Component, NgZone } from '@angular/core';

@Component({
selector: 'app-optimization-example',
template: `<p>Скорость приложения оптимизирована!</p>`,
})
export class OptimizationExampleComponent {
constructor(private ngZone: NgZone) {
this.ngZone.runOutsideAngular(() => {
window.addEventListener('scroll', this.handleScroll);
});
}

handleScroll = () => {
console.log('Событие скроллинга обработано!');
};
}

В данном примере Angular не отслеживает события scroll, что снижает нагрузку на систему. Однако важно помнить, что для обновления интерфейса нужно вернуться в зону Angular с помощью NgZone.run().

👉 @sWebDev
  • 👍 5
More from @swebdev
  1. Sep 26, 2026🤖 AI для фронтенд-разработчика: собираем инструменты на Podlodka Frontend Crew AI-инструм…
  2. Mar 23, 2026👉 @sWebDev | #книги
  3. Mar 23, 2026JavaScript для профессиональных веб-разработчиков Автор доступно объясняет сложные концепц…
  4. Jan 27, 2026Tabulator Библиотека, которая превращает HTML-таблицы или данные из JavaScript в интеракти…
  5. Jan 9, 2026Post #4134
  6. Jan 9, 2026Отложенный вызов Вопрос: Что произойдёт, если передать null в качестве задержки в useTimeo…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →