微信小程序 onLoad和onShow的区别

avatar
作者
筋斗云
阅读量:1

在微信小程序中,onLoad() 和 onShow() 是两个常用的生命周期函数,用于监听页面的加载和显示事件。这两个函数的区别如下:

  1. 触发时机

    onLoad() 函数只会在页面加载时触发一次,而 onShow() 函数每次页面显示时都会被触发。因此,onLoad() 适用于初始化页面数据和执行一次性操作,而 onShow() 适用于更新页面数据和执行周期性操作。

  2. 参数传递

    onLoad() 函数可以获取页面加载时的参数,而 onShow() 函数不能获取页面参数。如果需要获取页面参数,可以在 onLoad() 函数中获取,并将其保存到页面数据中。如果需要在页面显示时更新数据,可以在 onShow() 函数中使用保存的数据进行更新。

  3. 执行顺序

    当页面第一次加载时,onLoad() 函数会先于 onShow() 函数执行。当页面切换时,onShow() 函数会先于 onLoad() 函数执行。因此,在使用这两个函数时,需要注意它们的执行顺序。

以下是一个示例代码,用于演示 onLoad() 和 onShow() 函数的区别:

Page({   data: {     message: '',   },   onLoad: function (option) {     console.log('onLoad', option);     this.setData({       message: 'Page loaded.',     });   },   onShow: function () {     console.log('onShow');     this.setData({       message: 'Page shown.',     });   }, }); 

在这个示例代码中,我们定义了一个包含 onLoad() 和 onShow() 函数的页面。在 onLoad() 函数中,我们使用 console.log() 方法输出了页面加载时的参数,并将消息保存到页面数据中。在 onShow() 函数中,我们使用 console.log() 方法输出了页面显示事件,并更新了保存的消息数据。

总之,在微信小程序中,onLoad() 和 onShow() 是两个常用的生命周期函数,用于监听页面的加载和显示事件。它们的区别在于触发时机、参数传递和执行顺序。需要根据实际需要选择合适的函数,并在使用时注意它们的执行顺序。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!