vue之.native修饰符

Posted catherlee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue之.native修饰符相关的知识,希望对你有一定的参考价值。

.native 修饰符就是用来注册元素的原生事件而不是组件自定义事件的

 

比如:自定义 Button.vue 组件

<template>
  <button type="button" @click="clickHandler"><slot /></button>
</template>
export default {
  name: ‘button‘,
  methods: {
    clickHandler () {
      this.$emit(‘vclick‘) // 触发 `vclick` 事件
    }
  }
}

引用 Button.vue 组件

<vButton @click="clickHandler" @vclick="vClickHandler">按钮</vButton>
import vButton from ‘@/components/Button‘
export default {
  components: { vButton },
  methods: {
    clickHandler () {
      alert(‘onclick‘) // 此处不会执行 因为组件中未定义 `click` 事件
    },
    vClickHandler () {
      alert(‘onvclick‘) // 触发 `vclick` 自定义事件
    }
  }
}

如果将上面模版改成如下方式,那么两个事件都会执行。

<vButton @click.native="clickHandler" @vclick="vClickHandler">按钮</vButton>

 

所以, .native 修饰符就是用来注册元素的原生事件而不是组件自定义事件的。

 

技术分享图片

 

 

 

 

以上是关于vue之.native修饰符的主要内容,如果未能解决你的问题,请参考以下文章

vue中的.native修饰符

Vue事件修饰符(四).native .once

Vue中的native修饰符解析

vue-learning:28 - component - 组件事件的修饰符`.native / .sync`,以及组件属性`model`

vue点击事件之@click.native

vue之修饰符