uni-app app使用uni.onCreateVueApp回调中使用mixin设置生命周期的监听没有被调用
uni-app app使用uni.onCreateVueApp回调中使用mixin设置生命周期的监听没有被调用
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 14.6.1 (23G93) | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Mac
HBuilderX类型:正式
HBuilderX版本号:4.76
手机系统:Android
手机系统版本号:Android 10
手机厂商:华为
手机机型:Mate 30
页面类型:vue
vue版本:vue3
打包方式:离线
操作步骤:
- 打开app
预期结果:
- 启动app后打印onLaunch
实际结果:
- 启动app后没有打印onLaunch
bug描述:
实测在uni-app编译成安卓版本时,以下代码的 lifecycle 对象的 onLaunch 方法没有被调用,但编译成网页后会调用
const lifecycle = {
onLaunch(options) {
console.log('onLaunch')
}
}
uni.onCreateVueApp((app) => {
app.mixin(lifecycle)
})
更多关于uni-app app使用uni.onCreateVueApp回调中使用mixin设置生命周期的监听没有被调用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
通过调试并修改uni统计2也存在一样的问题
更多关于uni-app app使用uni.onCreateVueApp回调中使用mixin设置生命周期的监听没有被调用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
图1是app的日志
图2是网页的日志

在 uni-app 的 Vue 3 环境中,使用 uni.onCreateVueApp 回调配合 app.mixin 设置生命周期监听时,onLaunch 可能不会触发,这是因为 onLaunch 是 uni-app 应用级别的生命周期钩子,而非 Vue 组件生命周期。app.mixin 主要用于混入 Vue 组件的选项(如 onMounted),而 onLaunch 属于 uni-app 的 App 生命周期,应在 App.vue 的 onLaunch 中直接定义,而不是通过 mixin 注入。
解决方案:
- 在
App.vue中直接使用onLaunch:export default { onLaunch(options) { console.log('onLaunch') } }


