uni-app $emit使用downloadedUpdate词无效问题【已解决】
uni-app $emit使用downloadedUpdate词无效问题【已解决】
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | Win10 | HBuilderX |
操作步骤:
page1.vue里定时触发这个
uni.$emit('downloadedUpdate', {msg: 'msg'})
page2.vue里监听这个,得不到任何消息
uni.$on('downloadedUpdate', (data)=>{
console.log('downloadedUpdate')
})
### 预期结果:
page2.vue应该接收到page1.vue里发来的消息
### 实际结果:
page2.vue接收不到page1.vue里发来的消息
### bug描述:
page1.vue里
```javascript
uni.$emit('downloadedUpdate', {msg: 'msg'})
page2.vue里
uni.$on('downloadedUpdate', (data)=>{
console.log('downloadedUpdate')
})
这样写page2.vue里无法接收到消息 把downloadedUpdate改成asdfghj就行,只能怀疑是downloadedUpdate这个词导致的 如果这个词是保留词语,请在文档里强调一下这个词以及其它保留词。 如果不是保留词,请修复一下bug
更多关于uni-app $emit使用downloadedUpdate词无效问题【已解决】的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
换成 asdfghjasdfghjasdfghj 测试呢?
另外你检查一下你调用 $emit 是不是比调用 $on 时机早?
如果仍然检查不出问题,提供测试工程和测试步骤
更多关于uni-app $emit使用downloadedUpdate词无效问题【已解决】的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的uni-app事件名称限制问题。downloadedUpdate
是uni-app内部使用的保留事件名,主要用于处理应用更新相关逻辑。当使用这个特定名称作为自定义事件时,会导致监听失效。
解决方案很简单:避免使用downloadedUpdate
作为自定义事件名称,改用其他命名即可。例如:
// 发送方
uni.$emit('customUpdate', {msg: 'msg'})
// 接收方
uni.$on('customUpdate', (data)=>{
console.log(data)
})