3***@qq.com
3***@qq.com
  • 发布:2023-03-29 20:24
  • 更新:2024-08-08 23:53
  • 阅读:1148

【报Bug】特急!!!getApp()函数出错,VUE3打包基座运行不了,APP白屏,特急!!!!!!!!!!

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10专业版

HBuilderX类型: Alpha

HBuilderX版本号: 3.7.9

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: xiaomi civi 1s

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

[warn]: getApp() failed. Learn more: https://uniapp.dcloud.io/collocation/frame/window?id=getapp.
20:21:54.801 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property 'globalData' of undefined
at (app-service.js:1353:23)
at (app-service.js:31551:3)

操作步骤:

100%

预期结果:

100%

实际结果:

100%

bug描述:

出现问题原因已经查明,在项目根目录下的components目录里面新建一个JS文件,然后声明了一条变量const get = getApp().globalData;,然后把这个js文件引入到main.js里面,H5端和浏览器运行没问题,安卓手机自定义基座直接白屏了
自定义基座运行安卓手机上,结果getApp()函数读取不了,安卓app出现白屏,什么也看不见,出现率100%

[warn]: getApp() failed. Learn more: https://uniapp.dcloud.io/collocation/frame/window?id=getapp.
20:21:54.801 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property 'globalData' of undefined
at (app-service.js:1353:23)
at (app-service.js:31551:3)

2023-03-29 20:24 负责人:无 分享
已邀请:
Lnoon

Lnoon

vue2也有这个问题 我是uni-i18n里的initVueI18n用到了getApp() 获取不到报错了

11:43:48.294 [warn]: getApp() failed. Learn more: https://uniapp.dcloud.io/collocation/frame/window?id=getapp.
11:43:48.553 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property '$vm' of undefined

  • 3***@qq.com

    解决了吗?我跟你的报错一模一样

    2025-01-17 17:46

h***@163.com

h***@163.com

将getApp()放在页面的onLoad或者onReady中处理

2***@qq.com

2***@qq.com

请问解决了吗

m***@126.com

m***@126.com

data() {
return {
app: null,
}
},
onShow() {
this.app = getApp()
},
根据需要在不同的生命周期里调用getApp(),后续使用this.app

要回复问题请先登录注册