我正在尝试在 Angular 应用程序中实现 ResizeObserver:
const obs = new ResizeObserver(e => {
// ...
});
…并遇到 TS 错误:
TS2304: Cannot find name 'ResizeObserver'.
我试图更新我的类型定义:
@types/resize-observer-browser
…但是我的问题仍然存在。是否有可取的解决方案或通用的解决方法,或者使用像“resize-observer”这样的 NPM 包来继续前进会更好吗?
如果需要,很乐意提供更多信息。
谢谢!
原文由 jared jessup 发布,翻译遵循 CC BY-SA 4.0 许可协议
我建议使用 resize-observer-polyfill 它有类型(在 d.ts 文件中),如果浏览器支持 Resize Observer,它只使用本机实现,但它有更大的支持,因为它使用 Mutation Observer 作为后备,有更大的支持.
所以只需使用:
浏览器支持比较:
如您所见,Mutation Observer 甚至可以在 IE 11 中运行。