Angular: 异步进程仅在 >= Chrome 64 中不触发 changeDetection
Angular: Async process not triggering changeDetection only in >= Chrome 64
我正在使用 ResizeObserver
监视 angular 中元素的大小
observer = new window.ResizeObserver(entries => {
...
someComponent.width = width;
});
observer.observe(target);
当你 运行 safary、firefox 或 chrome 63 中的代码时,它工作得很好
因此,在 chrome 64(can-i-use -> 本机支持)中它不再起作用,它看起来像这样:
不知何故 chrome 不会对来自 ResizeObserver
的触发器执行 changeDetection
任何建议可能是这种奇怪行为的原因?
更新:我已经根据下面的讨论更新了我的post
zone.js为ResizeObserver >= chrome 64提供补丁,暂未发布,请等待zone.js下个版本(0.8.21)
https://github.com/angular/zone.js/pull/1012
这是一个工作示例。
我正在使用 ResizeObserver
observer = new window.ResizeObserver(entries => {
...
someComponent.width = width;
});
observer.observe(target);
当你 运行 safary、firefox 或 chrome 63 中的代码时,它工作得很好
因此,在 chrome 64(can-i-use -> 本机支持)中它不再起作用,它看起来像这样:
不知何故 chrome 不会对来自 ResizeObserver
任何建议可能是这种奇怪行为的原因?
更新:我已经根据下面的讨论更新了我的post
zone.js为ResizeObserver >= chrome 64提供补丁,暂未发布,请等待zone.js下个版本(0.8.21) https://github.com/angular/zone.js/pull/1012 这是一个工作示例。