风残落叶
风残落叶
  • 发布:2020-04-12 22:56
  • 更新:2021-07-01 10:09
  • 阅读:2467

uni的$on和$emit在试用路由后页面获取不到数据

分类:uni-app


如图,我在这个页面派发一个$emit事件后
在下面的order页面监听

但是在124行有获取到值,调用方法,130行获取不到值怎么回事

然后路由跳转方式改成uni.navigateBack();后就获取得到了,这是为啥,uni.navigateTo,uni.redirectTo都获取不到

2020-04-12 22:56 负责人:无 分享
已邀请:
风残落叶

风残落叶 (作者)

有知道怎么解决的吗

aq

aq

如果你是子页面设置监听,是不能获取到的,这东西只能监听子页面返回的信息,那么你可以用路由传参

  • 风残落叶 (作者)

    不是子页面,是同级的,可以路由跳转的

    2020-04-13 15:02

撇捺人生

撇捺人生 - 不要迷恋哥

uni.$on()一般是放在onload()里面的,最好监听完后最好卸载一下用uni.o$ff()

高子盛

高子盛

我也是遇到同样的问题 没解决

5***@qq.com

5***@qq.com - 挨苏

$emit传值是必须等到跳转的页面打开后,在子页面监听才能接收到数据,可以做一个短时间的延时

1***@qq.com

1***@qq.com - 小五

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

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