收藏
回答

wx.getLocation()会让页面执行onHide

问题模块
API和组件

当第一次访问小程序,wx.getLocation()方法,执行成功后,会让页面执行onHide,所以这样就会导致这个页面执行两次


这个情况在微信开发工具中不存在,但在手机上存在。

最后一次编辑于  2017-06-28  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 周璐
    周璐
    2017-06-28
    1. 首先,其他接口调用都没有执行onHide,只有wx.getLocation有这个问题,说明这个是bug,接口设计应该一致性。(而且微信开发工具没有这个问题,手机没有,是否说明微信开发工具有bug?)

    2. 因为业务需求原因,我们需要在onShow里面




    今天一天,发现多个bug,心都碎了

    2017-06-28
    赞同
    回复
  • maq
    maq
    2017-06-28

    如果执行了 onHide,那接下来一定也执行了 onShow 对吧?你所说的“页面执行两次”是因为你把部分页面初始化代码写在了 onShow 里,对吧?


    如果 wx.getLocation 真的导致了一次多余的 onHide/onShow,那么就算这个 BUG 被修复了,你的程序也仍然存在问题,因为用户手工切换应用时也同样会导致 onHide/onShow 这个过程。所以正确的做法应该是调整页面初始化的程序逻辑。

    2017-06-28
    赞同
    回复