有问
有问
  • 发布:2022-05-27 12:34
  • 更新:2022-06-22 15:12
  • 阅读:1063

【报Bug】eventChannel页面级监听事件只能执行一次

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: Alpha

HBuilderX版本号: 3.4.12

浏览器平台: Chrome

浏览器版本: 谷歌10.1

项目创建方式: HBuilderX

示例代码:
A页:  
点击按钮,进到B页,并在过多成后发射事件  
uni.navigateTo({  
            url:B,  
            success: res => {  
                res.eventChannel.emit('shoowdata', { data: 'data from starter page' })  
            },fail: () => {},complete: () => {}  
        })  

B页  
onLoad(){  
let that=this;  
            const eventChannel = this.getOpenerEventChannel();  
             eventChannel.on("shoowdata", function(res) {  
                 console.log(res,222)  
调试发现,刷新页后,第一次进到B页正常输出此处res内容,返回A页,再点击按钮从A页进到B页时,此处调试为空,无内容了,只有第一次打开,监听事件会生效!  
             })  
}  

A页在主包中,B页在分包中

操作步骤:

1使用uni.navigateTo从A页跳转到B页,并在成功后发射页面级事件
2在B页监听页面级事件,第1次正常能监听到
3从B页点导航按钮返回至A页,再从A页再点击打开进入B页,此时页面级监听事件无效,切换到了VUE2,发现也是这个问题。

预期结果:

页面级监听事件每次打开都能生效

实际结果:

页面级监听事件,仅第一次生效,之后不再生效。

bug描述:

使用eventChannel.on,监听uni.navigateTo的res.eventChannel.emit事件
只能生效一次!
下次再打开页面,监听事件不执行了。

2022-05-27 12:34 负责人:无 分享
已邀请:
有问

有问 (作者) - 生活,趣与失。

注:B页是在分包中。A页在主包中。

DCloud_UNI_Anne
  • 有问 (作者)

    放假回来没都,啥时候能修复啊。这个基础功能急用啊。

    2022-06-08 14:28

有问

有问 (作者) - 生活,趣与失。

这个是不是因为vue3不支持on监听了,所以页面级事件的ON监听也不能用了?

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