跳转至

onLoad与onShow的区别?

在小程序开发中,onLoadonShow 是页面生命周期中的两个不同阶段,它们在功能和调用时机上有一些区别:

  1. onLoad
  2. 触发时机:页面首次加载时触发。仅在页面初始化时调用一次。
  3. 适用场景:适合进行页面初始化操作,例如获取传递过来的参数、初始化数据、网络请求等。
  4. 特点:页面在整个生命周期中,onLoad 只会被调用一次。

  5. onShow

  6. 触发时机:每次页面显示时触发。包括页面首次加载、从后台切换到前台、或者从其他页面返回到当前页面。
  7. 适用场景:适合处理每次页面显示时需要更新的数据,比如刷新页面数据、更新UI等。
  8. 特点:页面在整个生命周期中,onShow 可以被多次调用。

总结来说,onLoad 更适合做一次性的初始化操作,而 onShow 适合处理需要在每次页面展示时进行的更新操作。

执行顺序

在小程序的页面生命周期中,onLoadonShow 的触发顺序是固定的。当页面被加载和显示时,顺序如下:

  1. onLoad:首先触发 onLoad 方法。这是在页面被初始化时调用的,用于处理页面的初始化逻辑。

  2. onShow:紧接着,onShow 方法会被触发。这是在页面已经加载并即将显示给用户时调用的,用于更新页面显示时所需的数据或状态。

因此,onLoad 总是先于 onShow 被调用。onLoad 负责页面的初始化,而 onShow 则负责每次页面显示时的更新操作。