на некое событие например клик. Как ангуляр узнает что я там обновил в этой подписке? Как это дело связано с zonjs? Я понимаю приблизительно что такое zonejs. Понимаю что он мокнет асинхронный метод. И по срабатыванию этого метода вызовет тик. Вопрос в том верны ли мои эти понимания и что произойдет дальше
В любом приложении Angular есть класс ApplicationRef, который является ссылкой на все ваше приложение, хранит в себе очень много полезной информации, но нам нужно только то, что в класс ApplicationRef инжектится синглтон NgZone и в конструкторе делается подписка на этот генератор событий: Каждый раз, когда выполняется колбек асинхронной задачи — Angular вызывает метод tick, что делает tick: Ничего сверхъестественного, просто в цикле проходится по активным вьюхам на текущем роуте и вызывает detectChanges. (Из статьи) https://medium.com/@overthesanity/zone-js-%D0%BE%D1%82-%D0%B0-%D0%B4%D0%BE-%D1%8F-fdb995917968
https://github.com/angular/zone.js/blob/master/lib/rxjs/rxjs.ts#L143-L156
Обсуждают сегодня