1、我在mounted里初始化图片长按事件
2、退出这个组件页面,Router里并没有缓存这个页面,我从新进入这个组件时,长按图片会出现多次
1、我在mounted里初始化图片长按事件
2、退出这个组件页面,Router里并没有缓存这个页面,我从新进入这个组件时,长按图片会出现多次
没有用过mui,但看写法,
这显然是做的事件委托,把 longtap 这个自定义事件委托到了 document.body 上面,spa 里不做重新刷新,body 上委托的事件肯定不会销毁,因此没进入一次这个组件,初始化一次事件绑定,导致越来越多
9 回答1.7k 阅读✓ 已解决
6 回答943 阅读
3 回答1.3k 阅读✓ 已解决
4 回答949 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
3 回答856 阅读
3 回答1.3k 阅读✓ 已解决
这个跟 Vue 是否缓存组件无关。你是在
mounted
里调用绑定函数的,mounted
是钩子,设计用来每次都触发,所以多次绑定。类似这种问题你得先想清楚,既然要绑定到
document.body
,那就是全局的事件,就应该放在全局入口。如果必须绑定到特定组件上,那应该在destroy
的时候解绑。