### [应用生命周期](https://uniapp.dcloud.io/collocation/frame/lifecycle?id=app)
`uni-app`支持如下应用生命周期函数:
| 函数名 | 说明 |
| --- | --- |
| onLaunch | 当`uni-app`初始化完成时触发(全局只触发一次) |
| onShow | 当`uni-app`启动,或从后台进入前台显示 |
| onHide | 当`uni-app`从前台进入后台 |
| onError | 当`uni-app`报错时触发 |
| onUniNViewMessage | 对`nvue`页面发送的数据进行监听,可参考[nvue 向 vue 通讯](https://uniapp.dcloud.io/nvue-api?id=communication) |
| onUnhandledRejection | 对未处理的 Promise 拒绝事件监听函数(2.8.1+) |
| onPageNotFound | 页面不存在监听函数 |
| onThemeChange | 监听系统主题变化 |
**注意**
* 应用生命周期仅可在`App.vue`中监听,在其它页面监听无效。
* onlaunch里进行页面跳转,如遇白屏报错,请参考[https://ask.dcloud.net.cn/article/35942](https://ask.dcloud.net.cn/article/35942)
* onPageNotFound 页面实际上已经打开了(比如通过分享卡片、小程序码)且发现页面不存在,才会触发,api 跳转不存在的页面不会触发(如 uni.navigateTo)
**示例代码一**
~~~
<script>
// 只能在App.vue里监听应用的生命周期
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
~~~
**示例代码二*
```
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
},
onPageNotFound(){
uni.navigateTo({
url: '/pages/404/404',
success: res => {},
fail: () => {},
complete: () => {}
});
}
}
</script>
```
实例一
页面2秒自动跳转
```
<script>
export default {
data() {
return {
}
},
methods: {
},
onLoad() {
let timer = setTimeout(()=>{
clearTimeout(timer)
uni.navigateTo({
url:"/pages/index/index"
})
},2000)
}
}
</script>
```