fuchengshen
2022-07-29 744d2bfd8d7494f448ee81356d6078d19243e923
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { onBeforeUpdate, ref, inject, computed } from "vue";
import { useRoute, useRouter } from "vue-router";
import { useStore } from "vuex";
 
export function useRefs() {
    const refs: any = ref<any[]>([]);
 
    onBeforeUpdate(() => {
        refs.value = [];
    });
 
    const setRefs = (index: string) => (el: any) => {
        refs.value[index] = el;
    };
 
    return { refs, setRefs };
}
 
export function useCool() {
    const { refs, setRefs } = useRefs();
    const service = inject<any>("service");
    const mitt = inject<any>("mitt");
    const store = useStore();
    const route = useRoute();
    const router = useRouter();
    const app = computed(() => store.getters.app);
 
    return {
        store,
        route,
        router,
        refs,
        setRefs,
        service,
        mitt,
        app
    };
}
 
export function useModule() {
    const store = useStore();
    const moduleList = computed(() => store.getters.moduleList);
    const modules = computed(() => store.getters.modules);
 
    return {
        moduleList,
        modules
    };
}