我是 Vue.js 的新手。我正在阅读文档,一时无法理解......
https://vuejs.org/v2/guide/events.html
使用修饰符时顺序很重要,因为相关代码是以相同的顺序生成的。因此使用@click.prevent.self 将阻止所有点击,而@click.self.prevent 只会阻止对元素本身的点击。
我不明白这是什么意思'因此使用@click.prevent.self 将阻止所有点击,而@click.self.prevent 只会阻止对元素本身的点击。' 任何人都可以举一个例子来防止默认操作并显示差异......
例如带有链接 ( <a href="https://stackoverflow.com">@click.prevent.self="fn" or @click.self.prevent="fn" difference</a>
)
我了解事件阶段(捕获、目标和冒泡)。
例如,它在冒泡阶段很有用:
<script src="https://unpkg.com/vue/dist/vue.js"></script>
.root {
width: 300px;
height: 300px;
background: green;
text-align: center;
color: white;
}
.parent {
width: 200px;
height: 200px;
background: red;
text-align: center;
color: white;
margin: 50px
}
.child {
width: 100px;
height: 100px;
background: blue;
margin: 50px;
text-align: center;
color: white;
}
<div id="app">
<div class="root" v-on:click="log('root')">root
<div class="parent" v-on:click.self.stop="log('parent')">Parent
<div class="child" v-on:click="log('child')">Child
</div>
</div>
</div>
</div>
<script type="text/javasctipt">
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
},
methods: {
log(message) {
alert(message);
console.log(message)
}
}
})
</script>
如果我点击孩子,我会得到输出:
child
root
泡泡糖没有停止!但是如果我点击父冒泡停止!这很有帮助!
但是,如果我将使用 prevent 和 self 修饰符(带有链接、复选框或可能带有其他元素),任何人都可以向我展示示例和区别吗?
感谢提前!