я использую OnClickOutside из VueUse, код vue:
<template>
<button class = "button" id = "button1" ref = "tempRef">AAA</button>
<OnClickOutside id = "clickOutside" :options = "{ ignore: [tempRef] }" @trigger = "console.info(tempRef)">
<button class = "button" id = "button2">BBB</button>
</OnClickOutside>
</template>
<script setup>
import { OnClickOutside } from '@vueuse/components'
import { ref } from 'vue'
const tempRef = ref()
</script>
Итак, я ожидаю, что когда я нажму button1, OnClickOutside не сработает, поскольку tempRef находится внутри игнорирования.
Но, оказывается, консоль все равно выводит tempRef, когда я нажимаю button1. Я пробовал некоторые настройки, но ничего не помогает.
Я неправильно понимаю, как использовать игнор в OnClickOutside? Как это исправить? Спасибо за помощь
Вот документация для быстрого доступа: https://vueuse.org/core/onClickOutside/



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ссылки автоматически разворачиваются при использовании в шаблоне, поэтому вместо предоставления опции игнорирования объекта ref ему предоставляется внутреннее значение, не являющееся ссылкой. Если вы предоставите объект параметров, созданный в вашем коде <script>, он должен работать:
<template>
<button id = "button1" ref = "tempRef" class = "button">AAA</button>
<OnClickOutside
id = "clickOutside"
:options = "options"
@trigger = "console.info(tempRef)"
>
<button id = "button2" class = "button">BBB</button>
</OnClickOutside>
</template>
<script setup>
import { OnClickOutside } from '@vueuse/components'
import { ref } from 'vue'
const tempRef = ref()
const options = { ignore: [tempRef] }
</script>
Опции игнорирования также может быть присвоена строка выбора, поэтому вы можете использовать ее в качестве альтернативы, если вам нужно решение только для шаблона:
<OnClickOutside
id = "clickOutside"
:options = "{ ignore: ['#button1'] }"
@trigger = "console.info(tempRef)"
>