目录
修饰符
事件修饰服 | 释义 |
---|---|
.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,修饰符,stop,li,事件,跳转
From: https://www.cnblogs.com/smyz/p/17294358.html