前端开发之浅度剖析VUE事件与事件的修饰符

183 阅读2分钟

VUE是个好东西,双向数据绑定的MVVM思想用习惯了,再让我们用原生或者Jquery去写估计跳河的心都得有了,不过好在现在的主流已经是数据驱动时代了,哈哈哈,话不多说,我们直接进入主题:

<button v-on:click='fn'>按钮</button>
//这种全写的事件绑定项目中用的不多,主要是写起来麻烦,比起这种写法我更喜欢下面这种写法
<buttion @click='fn'>按钮</buttion> //这么写是不是比全写得劲不少


let vm = new Vue({
    el:'#app',
    data:{
        //这个位置是用来存vue变量的,一定不要搞混,不少半路出家的又没经过培训的真有可能在这里写方法
    },
    methods:{
      //vue的方法区
        fn(){
            console.log('方法')
        }
    }
})

上面简单说一下方法,下面说一下常见的修饰符号

修饰符

   <buttion @click='fn(1)'>按钮</buttion> //如果这写下面接收到的一定会是参数1,而如果我们还想得到event怎么搞呢?
   
    <buttion @click='fn($event,1)'>按钮</buttion>//只要加一个这个属性我们就能既得到事件源,又能传参
    
    

阻止默认行为

<buttion @click.prevent='fn'>按钮</buttion>

阻止冒泡

<buttion @click.stop='fn'>按钮</buttion>

只触发一次事件行为

<buttion @click.once='fn'>按钮</buttion>

只有点击元素本身才会触发事件

<buttion @click.self='fn'>按钮</buttion>

控制函数是在捕获阶段执行

<buttion @click.capture='fn'>按钮</buttion>

先执行默认后执行函数

<buttion @click.passive='fn'>按钮</buttion>
//官方文档给出的答案是先执行默认后执行函数,但是我多次试验感觉,他基本上的真实作用就是取消preventDefault作用,也不知道我总结的对不对,请各位大神给个更加详细的说法