## 概要 ```html <my-component> ``` と ```html <my-component @hoge="handleHoge"> ``` の違いを `my-component` の中で把握する方法。 ## 方法 ### [[Vue2]]の場合 [[useListeners]]を使って以下のようなコードで判定する。 ```ts import { computed, useListeners } from "vue"; const listeners = useListeners(); const hasHoge = computed(() => Boolean(listeners.hoge)); ``` `@hoge`が指定されたときは`listeners.hoge`はcallableになるので`true`になる。未指定だと`undefined`なので`false`。 ### [[Vue3]]の場合 #todo ## 参考 - [javascript \- Check if a component has an event listener attached to it \- Stack Overflow](https://stackoverflow.com/questions/46706737/check-if-a-component-has-an-event-listener-attached-to-it)