<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--
事件修饰符:
.stop:作用:用来阻止事件冒泡,用来阻止事件继续向外层传毒
.prevent:作用:用来组织标签的默认行为
.self:作用:只监听自身标签触发的事件
.once:作用:该事件只触发一次
语法:@事件名.事件修饰符=“事件处理函数”
-->
<h1>stop标签</h1>
<div id="app">
<div style="width: 200px; height: 200px; background-color: red" @click="parent">
<div style="width: 100px; height: 100px; background-color: darkmagenta" @click.stop="child">
</div>
</div>
<!--
prevent,例如下面a标签,href属性就是默认标签行为,会先触发点击事件,然后跳转百度
可以添加prevent阻止跳转百度
-->
<h1>prevent标签</h1>
<a href="http://www.baidu.com" @click.prevent="test">跳转</a>
<h1>self标签</h1>
<!--
监听自身标签触发的事件
-->
<div style="width: 200px; height: 200px; background-color: red" @click.self="parent">
<div style="width: 100px; height: 100px; background-color: darkmagenta" @click="child">
</div>
</div>
<h1>once修饰符</h1>
<button @click.once="test">只触发一次</button>
</div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app = new Vue({
el: "#app",
data:{
},
methods:{
parent(){
console.log("parent")
},
child(){
console.log("child")
},
test(){
console.log("test")
}
}
});
</script>