UNPKG

@slan-health/taro-vueuse

Version:

taro vue版本hooks

35 lines (34 loc) 868 B
import { isWeb } from "./utils.js"; import useDidAgainShow from "./useDidAgainShow.js"; import useVisible from "../../../../useVisible/index.js"; function usePageReVisible() { const visible = useVisible(); const listeners = []; const subscribe = (listener) => { listeners.push(listener); return function unsubscribe() { const index = listeners.indexOf(listener); listeners.splice(index, 1); }; }; const revalidate = () => { if (!visible.value) return; for (let i = 0; i < listeners.length; i++) { const listener = listeners[i]; listener(); } }; if (isWeb) { window.addEventListener("visibilitychange", revalidate, false); } else { useDidAgainShow(revalidate); } return { subscribe, visible }; } export { usePageReVisible as default }; //# sourceMappingURL=usePageReVisible.js.map