Size: a a a

2019 May 06

AK

Artyom Krasnyuk in Angular Kyiv
Вот  тот же пример, только переписанный с detach & detectChanges. Тут всё ясно, потому что мы явно запускаем CD:
https://stackblitz.com/edit/angular-dn95wn
источник

DK

Dm K in Angular Kyiv
зон запускает ЧД на все асинхронные ивенты
источник

AK

Artyom Krasnyuk in Angular Kyiv
нет
источник

AK

Artyom Krasnyuk in Angular Kyiv
зона запускает CD если не OnPush
источник

AK

Artyom Krasnyuk in Angular Kyiv
при OnPush CD запускает при изменении @Input() или если происходит event в компоненте или дочерних компонентах, который имеет handler
источник

KN

Konstantin Nosov in Angular Kyiv
@oleksmir спать, не лучшее развлечение
источник

OM

O M in Angular Kyiv
У тебя зона отрабатывает всегда (если не отключена конечно). В ангуляре есть ApplicationRef и зона его дергает на каждый tick.
источник

OM

O M in Angular Kyiv
Все изменения идут с самого верха по дереву компонент
источник

OM

O M in Angular Kyiv
Он пуш просто отключает отдельные ветки дерева, и детект туда не заходит
источник

OM

O M in Angular Kyiv
Но маркфорчек делает исключение на один такой проход
источник

AK

Artyom Krasnyuk in Angular Kyiv
всё, теперь ясно) такие штуки лучше вообще ранить вне зоны, потому что каждый эмит будет триггерить tick
источник

OM

O M in Angular Kyiv
Artyom Krasnyuk
всё, теперь ясно) такие штуки лучше вообще ранить вне зоны, потому что каждый эмит будет триггерить tick
Какие такие штуки?
источник

AK

Artyom Krasnyuk in Angular Kyiv
я имею ввиду таймеры
источник

AK

Artyom Krasnyuk in Angular Kyiv
чтобы на каждый эмит не ранить tick()
источник

DG

Danil Gudz in Angular Kyiv
так-то лучше зон джс отключить и ручками тригерить CD, если так упарываться лишними пробегами)
источник

AK

Artyom Krasnyuk in Angular Kyiv
ну для максимального performance - да, но это может быть довольно проблематично. Вот кстати с последней ng-conf хороший спич по этому поводу: https://www.youtube.com/watch?v=TRfDXG98_Qg
источник

VL

Vitalii Lev 🦁 in Angular Kyiv
я так понял макс перфоманс это когда не за 20% усилий получить 80% эффекта а когда за 100 получить 100 🙂
источник

DG

Danil Gudz in Angular Kyiv
та чего там проблематичного) нужно заапдейтить юай – cd.markForCheck()
в реакте ж делают setState, тут тож самое можно, просто так то ангуляр делает это за тебя
источник

AT

Alexander Tarasenko in Angular Kyiv
Ребята а как быть если например функционал компонентов материал подходит а стиль совсем не тот
источник

AT

Alexander Tarasenko in Angular Kyiv
?
источник