为什么VueJs引入.native事件修饰符?这个的用例是什么Vue.js

为什么VueJs引入.native事件修饰符?这个的用例是什么Vue.js,vue.js,vuejs2,Vue.js,Vuejs2,我没有任何关于本机事件修饰符的文档。我见过一些这样的地方: <router-link @click.native="pressThis()"> Press here </router-link> 按这里 路由器链接上的native修饰符有什么用单击事件。 以及“本机”修饰符还可以有哪些其他用例?您可以覆盖自定义组件中的Vue事件。例如,您可能有一个列表组件,一旦您单击一个您称之为this.$emit('click',selectedItemData)的项目,它将向监视

我没有任何关于
本机事件修饰符的文档。我见过一些这样的地方:

<router-link @click.native="pressThis()"> Press here </router-link>
按这里
路由器链接上的
native
修饰符有什么用
单击
事件

以及“本机”
修饰符还可以有哪些其他用例?

您可以覆盖自定义组件中的Vue事件。例如,您可能有一个列表组件,一旦您单击一个您称之为
this.$emit('click',selectedItemData)
的项目,它将向监视该项目的父组件发出单击事件

但是,有时确实需要绑定到本机HTML/DOM事件侦听器
元素.addEventListener('click',callThisMethod)
,这就是
.native
的用法。另外,请注意,一旦您的组件像非本机事件一样被销毁,它将处理事件侦听器的清理


总之:当您需要DOM中的“原始”事件时,请使用
.native

我不确定,我只是假设native修饰符类似于isTrusted event属性的别名,即仅当事件以本机方式而非编程方式触发时才会触发事件回调。换句话说,不要对合成-不可信事件做出反应。值得一提的是,
.native
在Vue 3中不再是必需的。我听到你说的是
。当我需要来自DOM的原始事件时,使用native
。不过,我最近遇到了一个奇怪的情况,根据我使用按钮组件的位置,
。native
不会被触发。我在这里描述了这一点:。你对此有什么想法或解释吗?先谢谢你。