vue组件封装的时候我们需要注意的问题,事件监听的销毁是这样做的,生命周期钩子可以查询相关的文档
export default {
inserted(el, bindings, vnode) {
console.log(el, bindings, vnode);
document.addEventListener("click", (e) => listener(e, el, bindings), false);
},
//组件卸载的时候销毁事件
unbind(el, bindings) {
console.log("我被卸载了");
document.removeEventListener("click", (e) => listener(e, el, bindings));
},
};
- 抽取出来的方法
const listener = (e, el, bindings) => {
if (e.target == el || el.contains(e.target)) {
return false;
}
bindings.value(); //真实的close事件
};
每天坚持一点,多积累,一定可以看到星辰大海