bxw
bxw
  • 发布:2020-09-02 20:53
  • 更新:2022-09-24 12:58
  • 阅读:2678

【报Bug】uni.$emit()和uni.$on在vue页面和nvue页面传值出现无法赋值情况。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 2.8.8

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: 红米Note8Pro

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

使用uni.$emit()发送参数到了nvue页面可以接受但是无法赋值给当前页面的data。在ios手机无法复现,安卓首次可行,第二次开始无法设置参数值。

预期结果:

能够赋值

实际结果:

第二次无法赋值

bug描述:

使用uni.$emit()发送参数到了nvue页面可以接受但是无法赋值给当前页面的data。在ios手机无法复现,安卓首次可行,第二次开始无法设置参数值。

2020-09-02 20:53 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com - 1年

我的是从nvue传数据到vue 页面可以正常显示传递的数据
然后从vue到nvue 可以打印拿到的数据 但是this.xxx = data的方式页面不能正常的回显

  • 小少年报

    我感觉要么你的 this 指向有问题(可能放在了函数的作用域中,this指向的不是当前Vue实例,而是当前的函数),要么如果你的参数是对象的话,最好深拷贝一下,在试一下,我是封装了一个方法,在4~5个页面中调用互相传递参数都没有问题, 这是我接受数据的代码: uni.$on("change_popupWindow", data => {this.imgData = JSON.parse(JSON.stringify(data));})


    2020-09-07 10:22

  • bxw (作者)

    是的就是这样,但是首次赋值没问题。


    2020-09-11 09:09

  • a***@gmail.com

    大哥, 问题解决了吗? 我靠, 搞死我了


    2020-12-20 17:18

2***@qq.com

2***@qq.com -

您好帖主,我在刚刚也发生了类似问题,是在Subnvue(导航栏)中发生的通讯问题,我给您提供一个方法,希望您能够解决此问题,发送的$emit函数延迟50毫秒即可解决此问题

小少年报

小少年报

绝对是代码的问题,我有4到5个页面都用了uni.$emit 和 uni.$on 传递参数都没有问题,而且我的手机是安卓

1***@qq.com

1***@qq.com

2022年了,这个问题仍然还在啊,我在刚刚也发生了类似问题,是在Subnvue(导航栏)中发生的通讯问题,$on函数内赋值成功,在$on外面打印是空,各种方法搞了一上午真的无语

  • 9***@qq.com

    我今天也遇到了 也是在subnvue 但是查看了代码 是我多写了一个mounted 函数 你在仔细看看呢


    2022-09-29 12:01

要回复问题请先登录注册