@opensig/opendesign
Version:
<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>
29 lines (28 loc) • 803 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const useIntersectionObserver = require("./use-intersection-observer.js");
const is = require("../_utils/is.js");
let io = null;
function useIntersectionObserverDirective({
listener,
removeOnUnmounted
}) {
return {
vIntersectionObserver: {
beforeMount() {
io = useIntersectionObserver.useIntersectionObserver();
},
mounted(el) {
if (is.isFunction(listener)) {
io == null ? void 0 : io.observe(el, listener);
}
},
unmounted(el) {
if (listener && removeOnUnmounted) {
io == null ? void 0 : io.unobserve(el, listener);
}
}
}
};
}
exports.useIntersectionObserverDirective = useIntersectionObserverDirective;