vue 事件$on,$off的注意事项

遇到的vue事件on,off的坑

组件 A 使用了 组件B

组件A产生事件:

TypeScript 复制代码
this.$root.$emit('event1', param)

组件B的created()里监听了事件:

TypeScript 复制代码
this.$root.$on('event1', (param)=>{...})

组件B的beforeDestroy()里取消了事件监听:

TypeScript 复制代码
this.$root.$off('event1')

组件刷新时出现了:组件B2 created() ->组件B1 beforeDestroy() 导致组件B2里的监听被清除了

修改方案:

组件B的created()里监听事件,留下函数句柄

TypeScript 复制代码
this.event1Callback = (param)=>{...}
this.$root.$on('event1', this.event1Callback)

组件B的beforeDestroy()里使用函数句柄取消事件监听:

TypeScript 复制代码
this.$root.$off('event1', this.event1Callback)
相关推荐
用户2136610035723 小时前
Redux异步方案与React性能优化Hooks
前端
假如让我当三天老蒯3 小时前
TypeScript 继续学习(学习用)
前端·面试·typescript
玄玄子3 小时前
CSS 浮动引起父元素高度塌陷
前端·css
拾年2753 小时前
我用 30 行代码,搞懂了大模型是怎么"读"中文的
javascript·人工智能·llm
竹林8183 小时前
从 ethers.js 到 viem:我在一个 DeFi 看板项目中踩过的所有坑与最终方案
前端·javascript
kyrie283 小时前
React Redux 完整用法
前端
bonechips3 小时前
Tool Use:从"缸中大脑"到 AI Agent 的技术真相
javascript·agent
程序员鱼皮3 小时前
Codex 又出王炸功能「录制回放」,实战测评!附原理浅析
前端·后端·ai编程
lichenyang4534 小时前
AbilityMeta 能力元信息:不只是能调用,还要能看懂
前端
渣波4 小时前
拒绝黑盒!NestJS + LangChain 实战保姆级拆解,手把手教你搞定双 Token 与 AI 大脑
前端·后端