我正在尝试在Angular应用中实现ResizeObserver:
const obs = new ResizeObserver(e => {
// ...
});
...并且遇到TS错误:
TS2304: Cannot find name 'ResizeObserver'.
我试图用以下方式更新我的类型定义:
@types/resize-observer-browser
...但是我的问题仍然存在。是否有一个明智的解决方案或通用的解决方法,还是最好使用NPM软件包(如“调整大小观察者”)来继续前进?
很高兴在需要时提供更多信息。
Tks!
最佳答案
我从未使用过ResizeObserver,但是我确实将RxJS的fromEvent与resize事件一起使用,并且工作正常。这是它的代码。
import { fromEvent, Observable, Subscription } from "rxjs";
resizeObservable$: Observable<Event>;
resizeSubscription$: Subscription;
ngOnInit() {
this.resizeObservable$ = fromEvent(element, 'resize')
this.resizeSubscription$ = this.resizeObservable$.subscribe(evt => {
// do whatever you waant
})
}
ngOnDestroy() {
this.resizeSubscription$.unsubscribe();
}