Как добавить обаботчик клика на document после хука mounted компонента на vue 3?(а не одновременно)?

Добрый день, коллеги, подскажите пожалуйста, хочу повесить событие клика в дочеренем компоненте на document сразу же после его монтирования, но при клике на на кнопку в родительском компоненте, которая отвечает за отображение дочернго компонента, срабатывает как раз это событие клик "outsideClick", хотя я хочу чтобы следуюший клик обрабатывался а не этот килк по кнопке

//Parent.vue

<template>
<button @click ="toggleVisible" >click me</button>
    <Сhild v-if="visible" >
   </Child>

</template>

<script setup>

import {ref} from "vue";
import ComponentModal from "./Child.vue";
const visible = ref(false);

async function toggleVisible() {
  visible.value = !visible.value
}

</script>


//Child.vue

<template>
//...
</template>

<script setup>
import {unMounted, ref} from "vue";
import ComponentModal from "./Child.vue";

onMounted(()=>{
  document.addEventListener('click', outsideClick)
});


const outsideClick = (e) => {
  console.log('click')
 
  }
}


</script>
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
RAX7
@RAX7
Проще было бы использовать готовое решение https://vueuse.org/core/onClickOutside/
Но, если хочется написать свой велосипед, то можно примерно так: https://play.vuejs.org/#eNqVUsuOnDAQ/JUOJ5AIc58wKK...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы