vue中@click和@click.native.prevent的区别

Zahara ·
更新时间:2024-11-10
· 1486 次阅读

目录

@click和@click.native.prevent区别

@click.native中.native的含义与使用

@click和@click.native.prevent区别

@click是用在按钮上的语法糖

而@click.native是给vue组件绑定事件时候,必须加上native ,否则会认为监听的是来自Item组件自定义的事件

prevent是用来阻止默认的事件。就相当于…event.preventDefault(),父组件想在子组件上监听自己的click的话,需要加上native修饰符。

这里说说默认事件

默认事件就是默认执行的事件,比如 a标签,点击a标签,页面会自动跳转

@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>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。 



VUE native click

需要 登录 后方可回复, 如果你还没有账号请 注册新账号