收藏
回答

页面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

}

回答关注问题邀请回答
收藏

2 个回答

  • 老张
    老张
    2019-10-21

    不一定。

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

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

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