请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Vue3 需要在beforeUnmount 时清除自定义事件吗

vue3取消了 刀乐off 也没有 刀乐on了,而是使用defineEmits自定义的子组件事件,然后父组件引入子组件并监听子组件自定义事件。需要在父组件beforeUnmount的时候清除吗,vue3取消了$off怎么去取消监听,或者vue3需不需要去自己写代码取消监听?

正在回答 回答被采纳积分+3

1回答

双越 2022-05-26 14:05:55

没懂你的问题。现在 Vue3 不内置自定义事件,需要你自己去实现,推荐使用 https://www.npmjs.com/package/mitt 

0 回复 有任何疑惑可以回复我~
  • 提问者 Darkholme #1
    可能我没搞明白什么是自定义事件,我想问的是该视频中提到的优化方法是在beforeDestroy的时候清除自定义事件来释放内存,清除的方法是在钩子中调用$off把之前$on的自定义事件监听解除。
    
    我在vue3中父子组件传值基本是用的子组件define Emits,然后emits()触发事件  父组件在子组件上使用  @事件名  来做监听。那这个监听在父组件销毁时需要我手动解除吗?
    至于非父子组件传值  基本就用pinia来做了  vue2那种eventBus已经不会考虑了
    
    其实我纠结的是: vue3 setup语法糖中 defineEmits的事件有必要销毁时清除吗,会占内存吗
    回复 有任何疑惑可以回复我~ 2022-05-26 17:24:03
  • 双越 回复 提问者 Darkholme #2
    你一下子想的太多了。你说的第一句话“可能我没搞明白什么是自定义事件”—— 就需要打住。如果你没搞懂什么是自定义事件,那就需要先搞懂这个,再说其他的。对于 JS 来说,自定义事件的使用非常重要。
    回复 有任何疑惑可以回复我~ 2022-05-27 08:54:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信