Size: a a a

Angular - русскоговорящее сообщество

2019 October 25

S

Smooth Operator in Angular - русскоговорящее сообщество
Petr
если всю жзнь на запоре проездил так и не узнаешь в чем плюшки мерседес S класса, здесь похожая история
полностью согласен
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
так сказать
источник

В

Виталий in Angular - русскоговорящее сообщество
Привет.

Сделал вот такую демку для того чтобы разобраться с тем как работает changeDetection с компонентами с OnPush стратегией.

https://stackblitz.com/edit/angular-change-detection-on-push-demo?file=src%2Fapp%2Fchild%2Fchild.component.ts

Вопрос:
Почему при клике на кнопку на Root компоненте в компонентах parent и parent-sibling срабатывает changeDetection?
Эти компоненты имеют OnPush стратегию, и я ожидаю, что т.к. эти компоненты без @Input’ов и событие сработало не в области этих компонентов то changeDetection сработает только на Root компоненте. Но по факту это не так. Почему?

UPD
Смотрите консоль
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Виталий
Привет.

Сделал вот такую демку для того чтобы разобраться с тем как работает changeDetection с компонентами с OnPush стратегией.

https://stackblitz.com/edit/angular-change-detection-on-push-demo?file=src%2Fapp%2Fchild%2Fchild.component.ts

Вопрос:
Почему при клике на кнопку на Root компоненте в компонентах parent и parent-sibling срабатывает changeDetection?
Эти компоненты имеют OnPush стратегию, и я ожидаю, что т.к. эти компоненты без @Input’ов и событие сработало не в области этих компонентов то changeDetection сработает только на Root компоненте. Но по факту это не так. Почему?

UPD
Смотрите консоль
потому что ты думаешь что если сработал хук DoCheck то был запущен ченж детекшен  компонента
источник

В

Виталий in Angular - русскоговорящее сообщество
Smooth Operator
потому что ты думаешь что если сработал хук DoCheck то был запущен ченж детекшен  компонента
Не, я сделал вывод что чейндж детекшн сработал не потому что был вызван DoCheck хук, а потому что был вызван хук ngAfterViewChecked
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Виталий
Не, я сделал вывод что чейндж детекшн сработал не потому что был вызван DoCheck хук, а потому что был вызван хук ngAfterViewChecked
тоже самое)
источник

D

D in Angular - русскоговорящее сообщество
Vladimir Grebnev
Таки в каком хуке?
Проверяю в afterviewinit
источник

В

Виталий in Angular - русскоговорящее сообщество
Smooth Operator
тоже самое)
Не оч. понимаю тогда. Проверка View не является частью ChangeDetection?
источник

В

Виталий in Angular - русскоговорящее сообщество
Я думал что ChangeDetection это как раз проверка вью на факт того что биндинги изменились
источник

В

Виталий in Angular - русскоговорящее сообщество
и если они изменились то обновляем view или обновляем инпуты дочерних компонентов
источник

В

Виталий in Angular - русскоговорящее сообщество
Разве не так?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Виталий
Не оч. понимаю тогда. Проверка View не является частью ChangeDetection?
источник

VG

Vladimir Grebnev in Angular - русскоговорящее сообщество
D
Проверяю в afterviewinit
Какая версия Angular?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Виталий
Не оч. понимаю тогда. Проверка View не является частью ChangeDetection?
хук запускается после проверки компонента на ченж детекшен,
если там нечего проверять, то и запускать цикл проверки шаблона не нужно
соотвественно проверка компонента закончена, запускаем хук
источник

В

Виталий in Angular - русскоговорящее сообщество
Smooth Operator
хук запускается после проверки компонента на ченж детекшен,
если там нечего проверять, то и запускать цикл проверки шаблона не нужно
соотвественно проверка компонента закончена, запускаем хук
Что такое проверка View?
источник

В

Виталий in Angular - русскоговорящее сообщество
и что такое «проверка компонента на changeDetection»?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Виталий
Что такое проверка View?
нода елемента в дереве елементов
источник

В

Виталий in Angular - русскоговорящее сообщество
Smooth Operator
нода елемента в дереве елементов
Не понял.
Проверка это процесс… какие-то действия.
Нода это сущность.
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
процесс проверяет сущность
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
сущность говорит мне нечего проверять
источник