3***@qq.com
3***@qq.com
  • 发布:2019-06-13 11:23
  • 更新:2021-01-17 15:16
  • 阅读:7974

uni.$emit和uni.$on在小程序中不执行,求解决?官方bug,bug,bug

分类:uni-app


uni.$emit和uni.$on在小程序中不执行,


手机真机运行是可以的

2019-06-13 11:23 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

两种方式可以解决:

  1. a页面 setTimeout(function () {
    uni.$emit('detail-imgType', {
    'imgTypeData': _that.imgTypeData
    })
    }, 100) b页面 onLoad() {

    uni.$on('detail-imgType', function (res) {
    console.log('参数', res)
    })
    }

  2. a页面 uni.$emit 用uni.$on 包一层,b页面用uni.$emit 触发

  • 3***@qq.com

    按道理说第二种更好,感觉也可行,但是我试了一下为什么不可以呢,老哥能详细说一下吗

    2021-01-20 01:23

  • 3***@qq.com

    不行就只能全局了

    2021-01-20 01:24

1***@qq.com

1***@qq.com - 啦啦

uni.$on 得在onLoad里面

  • 3***@qq.com (作者)

    onShow和onLoad都调用的有,你试试。小程序可以不

    2019-06-13 15:12

口区

口区 -

我在h5上有时候执行有时候不执行……不知道为啥

  • 3***@qq.com (作者)

    那应该就是官方的bug问题了

    2019-06-14 09:07

落花时节

落花时节 - 90后

算我一个 我也在小程序中 不执行。。。。主要想在 navigateBack 的时候 传数据回去

树袋

树袋

真的不执行呢,你们想到用啥方法代替了吗?

8***@qq.com

8***@qq.com

微信小程序 H5执行,支付宝不执行,唉

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

复现工程传一下

style80

style80

算我一个
App.vue, onLaunch 中调用登录后 uni.$emit(),其他页面 onShow uni.$on();
文件保存自动编译后不会执行,必须手动重新运行才行。
真机上也经常不执行

  • i***@qq.com

    我也遇到这个问题

    2020-03-08 10:38

w***@163.com

w***@163.com - 馋上必将骄下

我现在也遇到这个问题,请问有完美解决办法吗

Brieeeeee

Brieeeeee

我也遇到了同样的问题,请问解决了吗

同心

同心

同问

7***@qq.com

7***@qq.com - www.evenfs.cn

解决了吗?我的也是,小程序不执行,APP貌似没问题。

7***@qq.com

7***@qq.com - www.evenfs.cn

我没有找到解决办法,我觉得可能是官方的BUG,同样的一套代码APP没问题,小程序不行。不过目前可以用vuex或者global来代替,就是用着没$on方便,效果一样。

2310240409

2310240409 - 码农

可以了,我用着没问题啊

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