收藏
回答

小程序 返回上一页后再次进入当前页又触发onLoad,怎么才能不再触发onLoad?

点击右上角返回上一页后再次进入当前页又触发onLoad函数,我想要的是已经执行过一次onLoad函数,后面再次进入就不用再触发了,请问大佬们有什么好的思路吗?

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

5 个回答

  • จุ๊บ
    จุ๊บ
    2023-09-21

    A页面 通过 navigateTo 跳转B页面后 再次返回A页面,并不会触发onload


    具体要看你的跳转方式

    2023-09-21
    有用
    回复 2
    • 永远
      永远
      2023-09-21
      用的是navigateTo跳转,但是返回上一页后,再次点击进入就会触发onload
      2023-09-21
      回复
    • จุ๊บ
      จุ๊บ
      2023-09-21回复永远
      那肯定会走onload啊。A页面跳转B页面,然后返回A页面时 B页面默认卸载了,再进入B页面onload 还会执行的
      2023-09-21
      回复
  • Jerry
    Jerry
    2023-09-21

    。。。你先了解一下为啥打开一个页面要执行onLoad吧

    2023-09-21
    有用
    回复
  • dreamhunter
    dreamhunter
    2023-09-21

    正常返回上一页后不会触发onLoad,确定不是onShow执行的?

    2023-09-21
    有用
    回复 3
    • 永远
      永远
      发表于移动端
      2023-09-21
      确定是onload
      2023-09-21
      回复
    • dreamhunter
      dreamhunter
      2023-09-21回复永远
      之前理解的有问题,只有返回页面和switchTab不触发onLoad。其他情况都会触发。重进页面就会刷新状态,如果不想刷新可以加个全局的控制参数,onLoad中通过参数控制是否刷新状态。
      2023-09-21
      回复
    • 永远
      永远
      2023-09-21回复dreamhunter
      好的,谢谢
      2023-09-21
      回复
  • 零²⁰²⁴
    零²⁰²⁴
    2023-09-21

    按照你的描述是退出了页面又重新再进入,按照逻辑就应该需要触发 onLoad 才对,因为页面重新加载了


    你可以描述下你想要这样的效果是为了实现什么需求,应该会有更好的处理方式

    2023-09-21
    有用
    回复 13
    • 永远
      永远
      发表于移动端
      2023-09-21
      你好,我这边想的是已经加载过了,就不需要再重新加载了,但是小程序生命周期,点击右上角返回图标,再次进入当前页就会又触发onload
      2023-09-21
      回复
    • 永远
      永远
      发表于移动端
      2023-09-21
      想要已经加载过了,就不需要再重新加载了
      2023-09-21
      回复
    • 零²⁰²⁴
      零²⁰²⁴
      2023-09-21回复永远
      你说的是左上角的返回吧,你说的当前页是指 返回前的页面 还是 返回后的页面
      2023-09-21
      回复
    • 永远
      永远
      发表于移动端
      2023-09-21回复零²⁰²⁴
      返回前的页面
      2023-09-21
      回复
    • 零²⁰²⁴
      零²⁰²⁴
      2023-09-21回复永远
      如果是指返回后再次进入返回前所在的页面,那么肯定是会触发 onLoad,而且也是非常合理的。所以实际上是要看你为什么期望他不触发,例如触发2次会导致你的什么逻辑出现问题,然后根据实际问题来调整代码。
      2023-09-21
      回复
    查看更多(8)
  • 永远
    永远
    2023-09-21

    @微信官方人员

    2023-09-21
    有用
    回复
登录 后发表内容