В
документации сказано:
change detection process that runs after every DOM event: every keystroke, mouse move, timer tick, and server response.
Чуть ниже есть такой
пример. В нём происходит следующее:
1. пользователь вводит в поле значения
2. нажимает enter
3. введённое значение записывается в переменную компонента
4. поле очищается(DOM меняется)
5. обновляется список в шаблоне
change detection срабатывает в пункте 4
Однако, если в коде заменить эту строку:
(keyup.enter)="addHero(box.value); box.value=''"
на эту:
(keyup.enter)="addHero(box.value)"
, то теоретически change detection не должен срабатывать потому что DOM не изменяется после нажатия enter. Проблема в том, что change detection срабатывает. И я не понимаю почему. Поясните пожалуйста.