打开新页面,返回上一页,再次打开新页面
- 发布:2022-03-04 17:46
- 更新:2022-08-08 12:51
- 阅读:694
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10 专业版 21H1(19043.1526)
HBuilderX类型: 正式
HBuilderX版本号: 3.3.11
浏览器平台: Chrome
浏览器版本: Microsoft Edge 98.0.1108.62
项目创建方式: HBuilderX
操作步骤:
预期结果:
两次都可传递数据
两次都可传递数据
实际结果:
仅第一次可传递数据
仅第一次可传递数据
bug描述:
VUE3版本,打开新页面并通过eventChannel传递数据,数据可被正常接收,返回上一页后,再次打开该页面,eventChannel不能触发事件传递数据,除第一次,均无法传递数据
使用 nextTick 可以解决第二次不会触发的问题:
<script setup>
import { onLoad } from '@dcloudio/uni-app';
import { getCurrentInstance, nextTick } from 'vue';
const instance = getCurrentInstance();
onLoad(async () => {
await nextTick();
const eventChannel = instance.proxy.getOpenerEventChannel();
eventChannel.on('event-name', (...payloads) => {
// 处理 payloads
});
});
</script>
使用 onLoad 生命周期是为了兼容小程序,如果不需要发布小程序,可以不用这个生命周期。
4***@qq.com
请尽快修复
2022-06-07 16:37