1***@qq.com
1***@qq.com
  • 发布:2022-03-04 17:46
  • 更新:2022-08-08 12:51
  • 阅读:694

【报Bug】重复进入同一页面eventChannel无法触发事件

分类:uni-app

产品分类: 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不能触发事件传递数据,除第一次,均无法传递数据

2022-03-04 17:46 负责人:无 分享
已邀请:
DCloud_UNI_Anne

DCloud_UNI_Anne

有问

有问 - 生活,趣与失。

现在就卡在这一步了,又过了半个月,刚更新一个版本,还是不能用,急死人了。

t***@qq.com

t***@qq.com

使用 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 生命周期是为了兼容小程序,如果不需要发布小程序,可以不用这个生命周期。

  • DiamondKingSon

    可以帮忙看看,在uniapp Vue3 h5环境下,如何进行处理吗?

    2022-12-23 09:05

该问题目前已经被锁定, 无法添加新回复