1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <template>
| <div ref="wrap">
| <slot></slot>
| </div>
| </template>
| <script lang="ts" setup>
| import { ref, onMounted } from 'vue';
| import { onClickOutside } from '@vueuse/core';
|
| const emit = defineEmits(['mounted', 'clickOutside']);
| const wrap = ref(null);
|
| onClickOutside(wrap, () => {
| emit('clickOutside');
| });
|
| onMounted(() => {
| emit('mounted');
| });
| </script>
|
|