07Vue中事件修饰符

135 阅读1分钟

1. Vue中的事件修饰符:

1.prevent:阻止默认事件(常用);

加上.prevent可以阻止a标签默认的链接跳转,只执行点击事件

<!-- 阻止默认事件(常用) -->
<a href="http://www.atguigu.com" @click.prevent="showInfo">点我提示信息</a>

2.stop:阻止事件冒泡(常用);

阻止事件冒泡 ,在内部加上.stop就可以阻止外部事件被触发 ,如果不阻止,点击内部按钮会先触发自身的事件,然后触发按钮外层的事件。

<div @click="showInfo2">
    <button @click.stop="showInfo">弹个窗户</button>
</div>

3.once:事件只触发一次(常用);

<button @click.once="showInfo">点击触发</button>

4.capture:使用事件的捕获模式;

如果不使用捕获模式,点击内部的div,先触发内部事件,打印2,再触发外部,打印1。如果使用捕获模式(放在外层),点击内部div,会先触发外部事件,再触发内部事件,捕获的过程就是从外部到内部,而冒泡的过程则是从内部到外部。

<div class="div1" @click.capture="showMsg(1)">
            <div class="div2" @click="showMsg(2)">内层盒子</div>
</div>
​
showMsg(e) {
     console.log(e);
}

5.self:只有event.target是当前操作的元素时才触发事件;

6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕;

最后两种不是特别常用,回顾可以看视频

www.bilibili.com/video/BV1Zy…