.prevent
组织默认行为,阻止提交表单,阻止a链接的跳转,原生JavaScript使用 event.preventDefault()阻止
<body>
<div id="app">
<a href="https://www.baidu.com" @click.prevent="show">百度</a>
</div>
<script>
new Vue({
el: "#app",
data: {
},
methods: {
show() {
console.log("a链接的请求被终止了");
}
}
})
</script>
</body>
.stop
阻止事件冒泡,例如外部盒子有一个点击事件,内部盒子也有一个点击事件,最终点击内部盒子事件时,内部盒子在处理完事件后,也会执行外部盒子事件,为了只执行内部盒子的事件不执行外部盒子事件,需要阻止冒泡,在内部盒子事件执行stop,原生js使用event.stopPropagation();停止。
<body>
<div id="app">
<div style="background-color:rgb(226, 253, 151); width: 200px; height: 200px; " @click="hide">
<button @click.stop='show'>点击事件</button>
</div>
</div>
<script>
new Vue({
el: "#app",
data: {
},
methods: {
hide() {
console.log("这是外部盒子事件");
},
show() {
console.log("这是内部button事件");
}
}
})
</script>
</body>
.once
只执行一次事件