TGViewer
Frontender Libs - обзор библиотек JS / CSS Frontender Libs - обзор библиотек JS / CSS @swebdev · 7.45K subscribers
Post #3659 990
Ручной запуск обновления

Метод ɵmarkDirty() в Angular вручную помечает компонент как «грязный», инициируя обновление при следующем цикле детекции изменений. Это используется вне зоны Angular (например, в стороннем коде), и работает только с ChangeDetectionStrategy.OnPush.

import {
Component,
ChangeDetectionStrategy,
ɵmarkDirty
} from '@angular/core';

declare const externalClick: (cb: () => void) => void;

@Component({
selector: 'app-alert',
template: `<p *ngIf="visible">Внешнее событие!</p>`,
changeDetection: ChangeDetectionStrategy.OnPush
})
export class AlertComponent {
visible = false;

ngOnInit() {
externalClick(() => {
this.visible = true;
ɵmarkDirty(this);
});
}
}


В этом примере внешний обработчик (externalClick) активирует компонент, не запуская Angular change detection. Мы вручную вызываем ɵmarkDirty(this), чтобы Angular отрендерил компонент на следующем проходе.

👉 @sWebDev
  • 👍 4
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 →