vue-hooks-plus
Version:
Vue hooks library
24 lines (23 loc) • 869 B
JavaScript
const domTarget = require("../utils/domTarget");
const useDeepCompareEffectWithTarget = require("../utils/useDeepCompareWithTarget");
const _interopDefaultLegacy = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
const useDeepCompareEffectWithTarget__default = /* @__PURE__ */ _interopDefaultLegacy(useDeepCompareEffectWithTarget);
const useMutationObserver = (callback, target, options = {}) => {
useDeepCompareEffectWithTarget__default.default(
() => {
const element = domTarget.getTargetElement(target);
if (!element) {
return;
}
const observer = new MutationObserver(callback);
observer.observe(element, options);
return () => {
observer == null ? void 0 : observer.disconnect();
};
},
[options],
target
);
};
module.exports = useMutationObserver;
;