@cran/vue.use
Version:
Cranberry Vue Use Utilities
15 lines (14 loc) • 482 B
JavaScript
import { useLifecycle } from "./useLifecycle";
import { unref, watch } from "@vue/runtime-dom";
export function useLifecycleWatch(target, handler, options) {
const unwrap = target instanceof Function
? target : function doUnwrap() {
return unref(target);
};
watch(unwrap, handler, options);
return useLifecycle(function onActive() {
handler(unwrap(), undefined);
}, function onInactive() {
handler(undefined, unwrap());
});
}