uni-app app.vue生命周期
时间: 2024-12-27 20:23:48 浏览: 4
### uni-app 中 `App.vue` 的生命周期详解
在uni-app框架内,`App.vue` 文件定义了整个应用程序级别的配置和行为。此文件中的生命周期钩子不仅涵盖了Vue实例的标准生命周期方法,还包括了一些特定于uni-app的方法来增强跨平台兼容性和功能扩展[^1]。
#### Vue标准生命周期钩子
- **beforeCreate**: 实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
- **created**: 完成数据观测,属性和方法的运算,watch/event 事件回调。然而此时还未挂载DOM节点,无法访问到$el属性。
- **beforeMount**: 在挂载开始之前被调用:相关的 render 函数首次被调用。
- **mounted**: el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.$el 也在文档内。
这些是Vue本身提供的基本生命周期阶段,在任何基于Vue的应用中都会经历上述过程[^3]。
#### Uni-app特有的全局应用生命周期钩子
除了继承自Vue的基础生命周期外,为了更好地适配移动应用环境特别是微信小程序生态,uni-app引入了几种额外的重要生命周期:
- **onLaunch**: 当Uni App启动或从后台进入前台显示时触发。这相当于传统Web端的`window.onload`事件,但更贴近移动端场景下的需求特点。它只在整个应用第一次打开的时候执行一次[^5]。
- **onShow**: 应用程序每次从前台切换至后台再切回前台展示给用户看之时会触发这个函数。可以用来处理一些临时状态恢复逻辑或是重新获取最新数据等工作。
- **onHide**: 对应地,当应用退入后台运行模式时则会触发展现此方法。可用于保存未完成的工作进度、清理资源等操作以节省电量消耗。
下面是一段简单的代码示例展示了如何利用这些生命周期来进行开发工作:
```javascript
// App.vue
export default {
onLaunch() {
console.log('App Launch');
},
onShow() {
console.log('App Show');
},
onHide() {
console.log('App Hide');
}
}
```
阅读全文