Angular: асинхронный процесс не вызывает changeDetection только в>= Chrome 64
Я отслеживаю размер элемента в угловых, используя ResizeObserver
observer = new window.ResizeObserver(entries => {
...
someComponent.width = width;
});
observer.observe(target);
Когда вы запускаете код в Safary, Firefox или Chrome 63, он работает просто отлично
Итак, в chrome 64 ( can-i-use -> native support) он больше не работает и выглядит так:
Так или иначе, chrome не выполняет changeDetection для триггеров из ResizeObserver
Любое предположение, что может быть причиной этого странного поведения?
ОБНОВЛЕНИЕ: я обновил свой пост на основе обсуждения ниже
1 ответ
Решение
zone.js содержит патч для ResizeObserver >= chrome 64, он не выпущен, пожалуйста, подождите, пока не выйдет следующая версия zone.js (0.8.21) https://github.com/angular/zone.js/pull/1012 это рабочий образец.