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:事件的默认行为立即执行,无需等待事件回调执行完毕;
最后两种不是特别常用,回顾可以看视频