diff --git a/addon/mixins/in-viewport.js b/addon/mixins/in-viewport.js index 9a1321e0..dfe1a3d6 100644 --- a/addon/mixins/in-viewport.js +++ b/addon/mixins/in-viewport.js @@ -55,9 +55,6 @@ export default Mixin.create({ willDestroyElement() { this._super(...arguments); this._unbindListeners(); - if (this.intersectionObserver) { - this.intersectionObserver.unobserve(this.element); - } }, _buildOptions(defaultOptions = {}) { @@ -257,6 +254,13 @@ export default Mixin.create({ $(context).off(`${event}.${elementId}`); }); + this._unobserveIntersectionObserver(); this._unbindScrollDirectionListener(); } + + _unobserveIntersectionObserver() { + if (this.intersectionObserver) { + this.intersectionObserver.unobserve(this.element); + } + } });