UNPKG

@cran/vue.use

Version:

Cranberry Vue Use Utilities

23 lines (22 loc) 655 B
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, }; }