1606726660@qq.com
1606726660@qq.com
  • 发布:2019-03-16 15:21
  • 更新:2019-03-30 07:32
  • 阅读:959

【报Bug】uni-app uni.reLaunch方法多次重新构建页面

分类:uni-app

详细问题描述

使用vuex做状态中心,uni.reLaunch 关闭所有的页面然后跳到登录(嵌套了几层页面)。然后你会发现watch中监听的数据会跟你使用uni.reLaunch的次数有关系。

重现步骤

点击下方dome运行,什么都不用做直接去设置页面,点击退出控制台观察watch 监听的值,退出一下你发现事件感觉多绑定了一下,重复操作。退出n次绑定事件n次

IDE运行环境说明

HBuilderX 1.7.0.20190314
window7旗舰版 64位

uni-app运行环境说明

h5端 小程序端 app端 测试

发现问题为:
App端会出现,其他目前没发现

App运行环境说明

小米5x 小米6 苹果7p 苹果叉 均会出现

附件

联系方式

[QQ] 1606726660

2019-03-16 15:21 分享
已邀请:
1606726660@qq.com

1606726660@qq.com (作者)

周一报道

1606726660@qq.com

1606726660@qq.com (作者)

周二报道

DCloud_UNI_FXY

DCloud_UNI_FXY

下一版本1.7.3(群测版已发)会修复此问题

  • 1606726660@qq.com (作者)

    奈斯 干的漂亮 终于好了,我要请修复这个bug的哥们大保健。

    2019-03-28 10:22

Trust

Trust - 少说废话

HBuilderX 1.8.0 已修复此问题,cli 已同步更新。

1606726660@qq.com

1606726660@qq.com (作者)

周三报道

1606726660@qq.com

1606726660@qq.com (作者)

周一报道 难受

小明子

小明子

关注一下,我记得是vuex中的事件绑定需要自己管理的,单页面生命周期中绑定的事件不会自动销毁,建议结束一个页面生命周期的时候解绑事件,比如在vue的beforeDestroy中解绑,在oncreate中绑定。

  • 1606726660@qq.com (作者)

    这个不是vuex 的问题 是uni.reLaunch 方法的问题(我推断哈,官方还没给出正确的答案)。你可以看demo demo上在退出的时候就有明确的改变vuex中的值

    2019-03-25 17:11

  • 小明子

    回复 1606726660@qq.com:我之前有一个业务场景,A页面打开B页面,在B页面上面选择数据列表,关闭B页面,将选择的数据反显到A页面上,起初用vuex做,因为vue生命周期问题,A打开B页面的时候,A先销毁了再创建B,关闭B再返回A的时候,这个时候A又被重新创建,生命周期重新开始,导致B页面emit的事件还是之前销毁A页面绑定的事件。 后来我使用bus做了一个简单封装,就没那么麻烦了。

    2019-03-25 18:31

  • 1606726660@qq.com (作者)

    回复 小明子:关键是你看了 我那个demo了吗? 意思就是在有定时器的时候页面中的事件会被多次执行,和你那个没有太大关系啊

    2019-03-26 16:18

1606726660@qq.com

1606726660@qq.com (作者)

2019年3月27日09:50:10 报道

要回复问题请先登录注册