通过 addEventListener() 添加的事件处理程序只能使用 removeEventListener() 来移除
移除时传入的参数与添加处理程序时使用的参数相同。这也意味着通过 addEventListener() 添加的匿名函数无法移除
下面这种写法是错误的
onMounted(() => {
window.addEventListener('resize', () => {
console.log('监听')
});
});
onUnmounted(() => {
window.removeEventListener('resize', () => {
console.log('移除监听')
});
});
需要使用以下方法
const calcFillDiv = () => {
const fnc = data => {
// do something
};
fnc(data);
};
onMounted(() => {
window.addEventListener('resize', calcFillDiv);
});
onUnmounted(() => {
// 移除监听事件,一定要和监听事件指向的是同一个方法(共享内存)
window.removeEventListener('resize', calcFillDiv);
});
网友评论