CaiYuanYiTiHua/packages/hooks/src/onMountedOrActivated.ts

26 lines
480 B
TypeScript
Raw Normal View History

2024-05-11 09:53:05 +08:00
import { type AnyFunction } from '@vben/types';
import { nextTick, onActivated, onMounted } from 'vue';
/**
* OnMounted OnActivated
* @param hook
*/
function onMountedOrActivated(hook: AnyFunction) {
let mounted: boolean;
onMounted(() => {
hook();
nextTick(() => {
mounted = true;
});
});
onActivated(() => {
if (mounted) {
hook();
}
});
}
export { onMountedOrActivated };