vue之事件修饰符

2023-05-12,,

目录
修饰符
.stop事件
.self事件
.prevent事件
.once事件

修饰符

事件修饰服 释义
.stop 只处理自己的事件,子控件不再冒泡给父控件
.self 只处理自己的事件,子控件的冒泡不处理
.prevent 阻止a标签链接的跳转,也可以修改跳转页面
.once 事件只会触发一次(适用于抽奖页面)

.stop事件

<div id="app">
<ul @click="clickUl">
<li @click="clickLi">点我触发事件</li>
</ul>
</div>
</body>
<script>
new Vue({
el: '#app',
methods: {
clickLi() {
console.log('我是li事件')
},
clickUl(){
console.log('我是ul事件')
}
},
})
</script>

当点击li的事件时,也会触发ul的事件,如下图

<div id="app">
<ul @click="clickUl">
<li @click.stop="clickLi">点我触发事件</li> <!--在子事件中加了.stop事件-->
</ul>
</div>

增加了.stop事件后,再点击li标签,不会再触发li事件

.self事件

此事件基本也.stop事件效果相同,只触发发自己的事件,子控冒泡的不处理

<div id="app">
<ul @click.self="clickUl"> <!--事件写在父标签中,不再处理子控件的冒泡-->
<li @click="clickLi">点我触发事件</li>
</ul>
</div>

.prevent事件

<div id="app">
<!--添加.prevent事件后,不再跳转到href指定的地址,可以手工设置跳转的地址-->
<a href="http://www.baidu.com/" @click.prevent="clickA">点我跳转</a>
</div>
</body>
<script>
new Vue({
el: '#app',
methods: {
clickA(){
// 当系统指定的跳转地址后,阻止用户a标签的跳转后,会跳转到指定的地址
location.href = "http://www.cnblogs.com/"
}
},
})
</script>

.once事件

<body>
<div id="app">
<!--在添加.once后,只会触发一次点击事件,刷新后才会再次触发-->
<button @click.once="clickBtn">点我</button>
</div>
</body>
<script>
new Vue({
el: '#app',
methods: {
clickBtn(){
console.log('hello world')
}
},
})
</script>

vue之事件修饰符的相关教程结束。

《vue之事件修饰符.doc》

下载本文的Word格式文档,以方便收藏与打印。