收藏
回答

`wx.redirectTo()`跳转,会执行两次被打开页面的`onLoad`



被打开的页面的`onLoad`回掉函数,会莫名其妙地执行两次。

基础库是1.6.4

最后一次编辑于  2017-11-15
回答关注问题邀请回答
收藏

10 个回答

  • 黄思程
    黄思程
    2017-11-15

    你好,请具体描述问题出现的流程,并提供能复现问题的简单代码示例。

    2017-11-15
    有用
    回复
  • 周锦辉
    周锦辉
    2021-12-25

    wx.redirectTo() 执行重复调用页面的时候(相当于reload功能);但原来的全局变量并没有清零(初始化);

    比如: timer = setInterval(that.setTimer, 1000);

    2021-12-25
    有用
    回复
  • 陈旺
    陈旺
    2018-04-22

    遇到同样的问题

    2018-04-22
    有用
    回复
  • 文彪
    文彪
    2018-03-15

    我也发现这个问题了,有大神解决了吗?

    2018-03-15
    有用
    回复
  • 永永永
    永永永
    2018-02-08

    @黄思程,我的也是,在onLaunch()方法中,每次调用wx.redirectTo(),会调用其中的页面两次onLoad()方法;

    2018-02-08
    有用
    回复
  • 阿白🌀
    阿白🌀
    2017-11-16

    代码示例就是截图上的,流程就是在 `App()`的`onLaunch()`里调用`wx.redirectTo()`

    2017-11-16
    有用
    回复 1
    • Re.
      Re.
      2020-03-02
      解决了吗
      2020-03-02
      回复
  • 阿白🌀
    阿白🌀
    2017-11-15

    不是的,我页试过把`/pages/ad/ad`放在非第一位,发现当我调用了`redirectTo`后,并没有调用第一个页面

    2017-11-15
    有用
    回复
  • 红色星星
    红色星星
    2017-11-15

    那就对了,所以执行了两次。第一次是小程序的页面加载机制,app.json第一个就是首页一定会打开的,然后你又通过

    redirectTo调用了一次。

    2017-11-15
    有用
    回复
  • 阿白🌀
    阿白🌀
    2017-11-15

    是第一个

    2017-11-15
    有用
    回复
  • 红色星星
    红色星星
    2017-11-15

    你看看 /pages/ad/ad 是不是在app.json的pages的第一个?

    2017-11-15
    有用
    回复
登录 后发表内容