vue之事件修饰符
修饰符
事件修饰服 | 释义 |
---|---|
.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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理