Cloud Zhang
2024-05-16 31b5d6cea1cc0a89391debbb1a87f54972ccfb78
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import type { InjectionKey, ComputedRef, Ref } from 'vue';
import { createContext, useContext } from '/@/hooks/core/useContext';
 
export interface PageContextProps {
  contentHeight: ComputedRef<number>;
  pageHeight: Ref<number>;
  setPageHeight: (height: number) => Promise<void>;
}
 
const key: InjectionKey<PageContextProps> = Symbol();
 
export function createPageContext(context: PageContextProps) {
  return createContext<PageContextProps>(context, key, { native: true });
}
 
export function usePageContext() {
  return useContext<PageContextProps>(key);
}