Files

61 lines
1.0 KiB
TypeScript
Raw Permalink Normal View History

2025-11-13 10:36:23 +08:00
import { router, scroller, useParent } from "@/cool";
class Page {
pageRef: ClPageComponentPublicInstance | null = null;
constructor() {
this.pageRef = useParent<ClPageComponentPublicInstance>("cl-page");
}
/**
*
* @returns
*/
path = () => {
return router.path();
};
/**
*
* @returns
*/
getScrollTop = (): number => {
return this.pageRef!.scrollTop as number;
};
/**
*
* @param top
*/
scrollTo = (top: number) => {
this.pageRef!.scrollTo(top);
};
/**
*
*/
scrollToTop = () => {
this.pageRef!.scrollToTop();
};
/**
*
* @param callback
*/
onScroll = (callback: (top: number) => void) => {
scroller.on(callback);
};
/**
*
* @param callback
*/
offScroll = (callback: (top: number) => void) => {
scroller.off(callback);
};
}
export function usePage(): Page {
return new Page();
}