关于@click.native中 .native 的含义与使用方式
vue的@click.native问题
.native--侦听组件根元素上的原生事件
- 作用: 给组件绑定原生事件
@click是我们在vue开发中经常用到的事件绑定,而@实际上是 v-on 的简写,而 v-on 则是对 vue 的事件体系封装之后的 API接口
也就是说,在处理DOM原生事件的场合中需要添加额外的标识符
- 比如:如果使用router-link标签,加上@click事件,绑定的事件会无效,因为router-link的作用是单纯的路由跳转,会阻止click事件,如果不加 .native, 事件是不会触发的,因此需要加上 .native 才会触发事件
当你给一个vue组件绑定事件的时候,要加上native,如果是普通的html元素,就不需要
<template>
<div id="app">
<Button @click.native = 'goToNext'>点击跳转</Button>
</div>
</template>
<script>
import Button from '../components/Button'
export default{
components:{
Button
},
data(){
return{
}
}
methods:{
goToNext(){
alert('hello--world')
}
}
}
</script>@click.native.prevent
1.给vue组件绑定事件时候,组件加上.native才能监听原生事件,否则会认为监听的是来自Item组件自定义的事件,
在封装好的组件上使用,所以要加上.native才能click
2.prevent 是用来阻止默认的 ,相当于原生的event.preventDefault()
根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。
但父组件想在子组件上监听自己的click的话,需要加上native修饰符
js原生事件类型:
click:单击dblclick:双击mousedown:鼠标按下mouseup:鼠标抬起mouseover:鼠标悬浮mouseout:鼠标离开mousemove:鼠标移动
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
VUE跨域问题Access to XMLHttpRequest at
今天发现一个错误,VUE发送请求的时候不能请求到正确数据,VUE跨域问题Access to XMLHttpRequest at,本文就详细的来介绍一下解决方法,感兴趣的可以了解一下2022-05-05
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
这篇文章主要介绍了详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-11-11
vue-cli3在main.js中console.log()会报错的解决
这篇文章主要介绍了vue-cli3在main.js中console.log()会报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-04-04
Vue如何通过Vue.prototype定义原型属性实现全局变量
在Vue.js开发中,通过原型属性为Vue实例添加全局变量是一种常见做法,使用$前缀命名,可以避免与组件内部的数据、方法或计算属性产生命名冲突,这种方式简单有效,确保了变量在所有Vue实例中的可用性,同时保持全局作用域的整洁2024-10-10


最新评论