你可能有很多次想要在一个组件的根元素上直接监听一个原生事件。这时,你可以使用 v-on 的 .native 修饰符:
在 Vue 3 中,.native
修饰符已经被移除,这是因为事件绑定的方式有所改变。在 Vue 2 中,.native
修饰符用于在自定义组件上绑定原生 DOM 事件。然而,在 Vue 3 中,你可以通过 v-on
的修饰符直接绑定到组件的根元素,这样就不再需要 .native
修饰符了。
如果你需要在 Vue 3 中绑定原生事件,可以通过以下两种方式实现:
1、 在组件的根元素上直接绑定事件:
确保组件根元素支持事件绑定,然后直接在父组件中使用 v-on
绑定事件:
在 my-component
中,确保根元素是一个支持 click
事件的元素,比如 div
:
2、 通过 emits
选项和 $emit
方法:
你可以在自定义组件中通过 $emit
方法触发自定义事件,并在父组件中监听这些事件:
然后在父组件中监听这个事件:
这样就可以在 Vue 3 中实现类似于 .native
修饰符的功能。