1、场景

2、代码
watch:{
show_login_out(newVal, oldVal){
if(newVal === true){
alert('开始监听')
// 若显示,则监听失去焦点事件。
document.addEventListener('click',this.click_out_side, true);
}else{
alert('事件销毁')
// 不显示,销毁监听事件。
document.removeEventListener("click", this.click_out_side, true);
}
}
},
methods:{
click_out_side(e){
if(!this.$el.contains(e.target)){
alert('触发点击外面')
this.show_login_out = false;
}
},
}
本文介绍了一个Vue.js中监听组件外部点击的实现方法。通过watch和document的addEventListener及removeEventListener,实现在组件显示时监听外部点击,并在组件隐藏时销毁事件监听,避免内存泄漏。当点击组件以外的区域时,将触发特定事件。

1959

被折叠的 条评论
为什么被折叠?



