面试题答案
一键面试阻止事件冒泡
在Vue中,可以使用.stop
修饰符来阻止事件冒泡。
示例代码如下:
<div id="app">
<div @click="handleOuterClick">
外层div
<button @click.stop="handleInnerClick">点击我</button>
</div>
</div>
<script>
new Vue({
el: '#app',
methods: {
handleOuterClick() {
console.log('外层div被点击');
},
handleInnerClick() {
console.log('按钮被点击');
}
}
});
</script>
在上述代码中,当点击按钮时,handleInnerClick
方法会被调用,同时由于@click.stop
的存在,事件不会冒泡到外层的div
,因此handleOuterClick
方法不会被触发。
防止默认行为
在Vue中,使用.prevent
修饰符可以防止事件的默认行为。
示例代码如下:
<div id="app">
<a href="https://www.example.com" @click.prevent="handleClick">点击链接</a>
</div>
<script>
new Vue({
el: '#app',
methods: {
handleClick() {
console.log('链接被点击,但不会跳转');
}
}
});
</script>
在上述代码中,当点击链接时,handleClick
方法会被调用,同时由于@click.prevent
的存在,链接的默认跳转行为被阻止。