收藏
回答

点进一个带参数的tab页,切换到另外一个tab再回来会重新执行onload

问题模块
API和组件


页面是这样的,我把资讯这个tab分享出去,带了这个页面的id,name等字段,大致格式就是这样的 ‘pages/news/news/id=1234&name=不二空间’。

然后别人再通过群里分享点进来,一切看起来都那么的正常,

但是问题来了,当我切换到另外一个tab后,比如发现,然后再切换回来,这个时候资讯这个页面会重新走onLoad(),onReady()等生命周期函数,而且这个时候,wx.getSystemInfo()返回的res.windowHeight值也不一样(第一次返回的高度没有把tab的高度减去,第二次减去了。。),就导致我中间这个scroll-view的高度会计算错误。

我打日志看了一下,切换到另外一个tab的时候,第一个tab并没有走onUnload()这个生命周期。


求助啊,试了一下,分享不带参数就没问题,但是这个需求不可能不带参数啊

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

5 个回答

  • 末日再出发
    末日再出发
    2017-07-20

    你这个不是原生的tab吧

    2017-07-20
    赞同
    回复
  • I
    I
    2017-07-20

    是原生的,app.json里配置的。这个是模拟器的效果。

    2017-07-20
    赞同
    回复
  • 末日再出发
    末日再出发
    2017-07-20

    你点击发现 返回资讯的时候 可以通过onShow 继续wx.getSystemInfo()

    或者你点击资讯第一次wx.getSystemInfo() 后将获取到的高度保存下来 以后只使用这个变量即可

    2017-07-20
    赞同
    回复
  • lcs
    lcs
    2017-07-20

    你那个scroll-view的高度需要动态计算?你用的是px?


    2017-07-20
    赞同
    回复
  • I
    I
    2017-07-20

    是的,计算的px,不然怎么做呢,求指教

    2017-07-20
    赞同
    回复