4***@qq.com
4***@qq.com
  • 发布:2020-07-28 15:58
  • 更新:2020-08-12 11:52
  • 阅读:3151

【报Bug】uni-app uni.$on在新打开的页面无法赋值到data里面

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 2.8.3

第三方开发者工具版本号: 2006090

基础库版本号: 2.12.0

项目创建方式: HBuilderX

操作步骤:

这里是首页

uni.$emit('test', {test: 123});  
uni.navigateTo({  
     url: /pages/test/index.vue  
})

这里是pages/test/页面

onLoad(){  
uni.$on('test', (data) => { this.test = data.test; })  
}

预期结果:

实际结果:

bug描述:

只要是在当前页$emit触发新打开页面onLoad里面使用「uni.$on」就无法把传过来的数据赋值到data里面去,如果是已打开的页面再监听新页面传过来的$emit就没问题

2020-07-28 15:58 负责人:无 分享
已邀请:
chenli

chenli

打开新页面就可以直接带Url参数过去,新页面onload(options) {// options就是带过来的参数}
使用uni.$emit,前提要有对应的uni.$on监听已经注册了才可调用。

1***@qq.com

1***@qq.com - uniapp菜鸟

this.setTimeout(()=>{
uni.$emit('sendPageData',data)
}, 500);
设置延时

  • ddpapa

    设置延时的确可以成功传数据,但是subNvue在接收到vue的数据后也会延迟显示

    2021-10-20 15:14

9***@qq.com

9***@qq.com

出现了同样的问题。还没找到原因,在另外的页面也是这样使用的没有出现问题。

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