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 修饰符就是用来注册元素的原生事件而不是组件自定义事件的。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/catherLee/p/10216125.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值