1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| 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 };
|
|