@cran/vue.use
Version:
Cranberry Vue Use Utilities
23 lines (22 loc) • 655 B
JavaScript
import { ref, unref } from "@vue/runtime-dom";
import { tryOnActivated, tryOnDeactivated, tryOnMounted, tryOnUnmounted } from "../utility/lifecycle";
export function useLifecycle(onActive, onInactive) {
const active = ref(false);
function doOnActive() {
if (!unref(active)) {
onActive();
active.value = true;
}
}
function doOnInctive() {
if (unref(active)) {
onInactive();
active.value = false;
}
}
tryOnMounted(doOnActive);
tryOnDeactivated(doOnInctive);
tryOnActivated(doOnActive);
tryOnUnmounted(doOnInctive);
return { active, };
}