收藏
回答

页面onshow一定会在app.js onshow(options)之后执行码?


我要每次扫码打开页面都能获取到码的最新参数,所以要在onshow中更新,请问app.js的onshow一定会先执行吗

页面.js:

onshow(){

this.data.scene=app.globalData.scene

}

app.js

onshow(options){

this.globalData.scene=options.query.scene

}

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

2 个回答

  • 老张
    老张
    10-21

    不一定。

    10-21
    赞同
    回复 2
    • soul
      soul
      10-21
      好的,那还是放在页面上onload获取options比较有保证,请问如果想保证app.js先获取到参数有什么办法吗
      10-21
      回复
    • 老张
      老张
      10-21回复soul
      用一个公共函数async pubFunc()来更新一个globalData吧,在app.js和page.js里都判断globalData一下先,如果不存在就运行pubFunc;
      10-21
      回复
  • 罗素的粉
    罗素的粉
    10-20

    会先执行,但是如果有异步方法的话,建议await

    10-20
    赞同
    回复 11
    • soul
      soul
      10-20
      好的,谢谢
      10-20
      回复
    • 罗素的粉
      罗素的粉
      10-20回复soul
      不知道写onshow和onload有什么区别没,我写在onload了
      10-20
      回复
    • soul
      soul
      10-20回复罗素的粉
      如果是页面的onload应该没区别吧,原先是我搞错了,我本来是写在页面的onload获取options,但是我以为不是每次扫码进入都会进入onload。所以就到app.js去获取options了
      10-20
      回复
    • 罗素的粉
      罗素的粉
      10-20回复soul
      哦哦,进入小程序可以自定义路径。我也感觉写在app.js里好一点
      10-20
      回复
    • lihui
      lihui
      10-20回复罗素的粉
      onload是只执行一次,返回上一页这些操作不会重新执行,onshow这个是不管什么操作,只要进入这个页面都要执行
      10-20
      回复
    查看更多(6)
问题标签