UNPKG

create-iking-admin

Version:

金合技术中台脚手架

43 lines (36 loc) 1.15 kB
import { createPageContext } from '@/global/hooks/component/usePageContext'; import { useWindowSizeFn } from '@/global/hooks/event/useWindowSizeFn'; import { computed, ref, unref } from 'vue'; const headerHeightRef = ref(0); const footerHeightRef = ref(0); export function useLayoutHeight() { function setHeaderHeight(val) { headerHeightRef.value = val; } function setFooterHeight(val) { footerHeightRef.value = val; } return { headerHeightRef, footerHeightRef, setHeaderHeight, setFooterHeight }; } export function useContentViewHeight() { const contentHeight = ref(window.innerHeight); const pageHeight = ref(window.innerHeight); const getViewHeight = computed(() => { return unref(contentHeight) - unref(headerHeightRef) - unref(footerHeightRef) || 0; }); useWindowSizeFn( () => { contentHeight.value = window.innerHeight; }, 100, { immediate: true }, ); async function setPageHeight(height: number) { pageHeight.value = height; } createPageContext({ contentHeight: getViewHeight, setPageHeight, pageHeight, }); }