Size: a a a

2019 May 13

VN

Vladyslav Nasadiuk in Angular Kyiv
ну или например сопоставить к вопросу Саши, новіе данніе через сервис прилетели, дерагете руками detectChanges()?
источник

IF

Igor Filippov in Angular Kyiv
Vladyslav Nasadiuk
образно говоря, когда у вас есть какой-то метод, который апдейтит лейбу на вью, вы дерагете руками detectChanges()?
.markForCheck чаще
источник

AR

Andrii Ryzhyi in Angular Kyiv
Vladyslav Nasadiuk
образно говоря, когда у вас есть какой-то метод, который апдейтит лейбу на вью, вы дерагете руками detectChanges()?
да markForCheck
источник

IF

Igor Filippov in Angular Kyiv
Ну или асинк пайп, но это тоже самое
источник

AR

Andrii Ryzhyi in Angular Kyiv
Igor Filippov
Ну или асинк пайп, но это тоже самое
+
источник

VN

Vladyslav Nasadiuk in Angular Kyiv
вот, это инетерсней, только разве markForCheck не врубит cdr для конкретной ветки cdr с рута до вашего компонента?
источник

VN

Vladyslav Nasadiuk in Angular Kyiv
источник

DG

Danil Gudz in Angular Kyiv
он врубит по всему
источник

DG

Danil Gudz in Angular Kyiv
а компонент пометится что его нужно прогнать
источник

DG

Danil Gudz in Angular Kyiv
в случае с онпушем ему будет все равно на инпуты
источник

DG

Danil Gudz in Angular Kyiv
а другие компоненты тоже чекнутся
источник

VN

Vladyslav Nasadiuk in Angular Kyiv
что-то ты меня запутал)
источник

AK

Artyom Krasnyuk in Angular Kyiv
markForCheck отметит дерево компонентов от рутового вплоть до того, в котором был вызван чек, что в следующем цикле CD они должны быть проверены (ChecksEnabled = true, если не ошибаюсь)
источник

AK

Artyom Krasnyuk in Angular Kyiv
да, это минус даже onPush. Можешь погуглить, есть статья, в которой парни рассказывают как сделать ещё быстрее) но сложнее. Они делают detach для рутового компонента, и весь change  detection делают руками (detectChanges)
источник

AK

Artyom Krasnyuk in Angular Kyiv
вот как реализован сам markForCheck:
export function markParentViewsForCheck(view: ViewData) {
 let currView: ViewData|null = view;
 while (currView) {
   if (currView.def.flags & ViewFlags.OnPush) {
     currView.state |= ViewState.ChecksEnabled;  <-----------------
   }
   currView = currView.viewContainerParent || currView.parent;
 }
}
источник

AK

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

VN

Vladyslav Nasadiuk in Angular Kyiv
спасибо
источник
2019 May 14

S🥐

Sebastien 🥐 in Angular Kyiv
У нас так нельзя
источник

VS

Vladimir Shaposhnikov in Angular Kyiv
Сорри
источник

VS

Vladimir Shaposhnikov in Angular Kyiv
Как можно ?
источник