小程序常用应用生命周期

App({
  //1.应用第一次启动就会触发的事件
  onLaunch(){
    //  应用场景: 在应用第一次启动时,获取用户个人信息
    console.log('onLaunch');
  },

  // 2.应用被用户看到的时候(小程序被切到后台之后,再次打开也会触发)
  onShow(){
    // 应用场景 对应用的数据或者页面效果重置
    console.log('onShow');
  },

  // 3.应用被隐藏时触发
  onHide(){
    //  应用场景 暂停或者清除定时器
    console.log("Hide");
  },

  // 4.应用的代码发生报错的时候会被触发
  onError(err){
    // 应用场景 在应用发生代码报错的时候,可以收集用户的错误信息,将错误发送到后台,以便分析修正
    console.log("onError");
    console.log(err);
  },

  // 5.页面找不到就会触发
  //  应用第一次启动的时候,找不到第一个入口页面才会触发
  onPageNotFound(){
    //  应用场景,如果页面不存在,可以在该方法内重定向页面到其他页面
   // console.log("onPageNotFound");
    wx.navigateTo({
      url:'/pages/notfound/notfound'
    })
  }
})
### 小程序生命周期钩子函数详解 #### 1. 应用生命周期函数 应用级别的生命周期主要由三个核心的钩子函数构成: - **`onLaunch()`**: 当小程序启动或从后台进入前台被调用,整个应用程序仅会被调用一。此方法非常适合用来做全局性的初始化工作[^1]。 ```javascript App({ onLaunch(options) { console.log('小程序已启动'); } }); ``` - **`onShow()`**: 每打开页面都会触发该事件,可用于处理一些每展示都需要执行的任务,比如刷新数据等操作。 ```javascript App({ onShow(options) { console.log('小程序显示'); } }); ``` - **`onHide()`**: 当小程序从前台转入后台触发,可以在此处保存临状态或其他必要的清理工作。 ```javascript App({ onHide() { console.log('小程序隐藏'); } }); ``` #### 2. 页面级生命周期函数 对于单个页面而言,则存在更详细的生命周期管理机制,主要包括以下几个重要刻: - **` onLoad()`**: 页面加载触发,参数为上个页面传递的数据,同getScene获取到的内容相同。适合用于查询、读取本地缓存以及设置页面初始状态等场景[^4]。 ```javascript Page({ onLoad(query) { console.log(`页面加载, 参数: ${JSON.stringify(query)}`); } }); ``` - **`onReady()`**: 页面初渲染完成后调用,此可访问DOM节点,常用于需要立即更新视图的操作。 ```javascript Page({ onReady() { console.log('页面首渲染完毕'); } }); ``` - **`onUnload()`**: 用户关闭当前页签触发,通常用来释放资源或者清除定器等。 ```javascript Page({ onUnload() { console.log('页面卸载'); } }); ``` - **`onShow()` 和 `onHide()`**: 类似于应用层面的这两个回调,在页面级别也有相应的实现,分别表示当页面变为可见/不可见的状态变化触发。 ```javascript Page({ onShow() { console.log('页面显示'); }, onHide() { console.log('页面隐藏'); } }); ``` #### 3. 组件级生命周期函数 除了上述提到的应用和页面级别的生命周期外,自定义组件也拥有自己独立的一套生命周期逻辑,其中最常用的是`attached`阶段,它会在组件实例第一被插入文档节点树触发,适用于执行性初始化任务[^5]。 ```javascript Component({ attached() { console.log('组件附加到了页面'); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值