uni-app v3版本更新常见问题排查

组件不显示或者功能异常

原因:组件内使用了 onReady,onReady 是页面的生命周期,不应在组件中直接使用,组件中应该使用 mounted 生命周期

解决方法:onReady 改为 mounted

更新组件状态,视图不更新

原因:使用了 vue 无法观测的数组更新方式(如:this.array[0]=object),相关文档

解决方法:改为可以观测的数组更新方式(如:this.array.splice(0,1,object))或者使用 $forceUpdate 强制更新视图(只支持当前组件的数据变更)

使用 setData 报错

原因:vue 不支持 setData 方法

解决方法:直接给数据赋值即可,如:this.setData({a:'a'})改为this.a='a'、page.setData({a:'a'})改为page.$vm.a='a'

js 报错:TypeError: null is not an object (evaluating '_vm.xxx.xxx')、TypeError: undefined is not an object (evaluating '_vm.xxx.xxx')

原因:模板内访问了未定义数据(null、undefined)的属性

解决方法:数据初始化为对象,或者模板内先判断对象是否存在(如:),或者使用 v-if 判断(如:,不是:)

js 报错:cid unmatched at view.umd.min.js

原因、解决办法 同上,一般出现这个错误之前会出现上一条错误提示。如果这一哥报错之前没有上一条错误提示,就排查下显示异常的组件,其导入方式是否错误(如:import { test } from './test.vue')

js 报错:Failed to mount component: template or render function not defined.

原因:删除了 main.js 文件内的 App.mpType = 'app'

解决办法:在 main.js 文件内补充上 App.mpType = 'app'

js 报错:undefined is not an object (evaluating 'this.$refs.xxx.xxx')

原因:在错误的时机(如:created 生命周期)获取子组件实例,且不加判断直接调用组件方法

解决办法:在正确的时机(如:mounted 生命周期)获取子组件示例,或者判断组件或者方法是否存在后再调用

js 报错:TypeError: page.onLoad is not a function

原因:获取页面对象后主动调用 onLoad 生命周期

解决方法:调用 vm 实例上的方法,如:page.$vm.xxx

js 报错:undefined is not an object (evaluating 'e.parentNode')

原因:main.js 文件内的 app.$mount 方法内填入了参数(如:app.$mount('#app'))

解决方法:去除 app.$mount 方法参数,改回:app.$mount()

js 报错 uni.getUpdateManager is not a function

原因:非小程序端不支持 uni.getUpdateManager 方法

解决方法:使用条件编译包裹相关代码

js 报错 page.$vm.onLoad is not a function

原因:methods 内不能使用和内置生命周期相同的方法名,也不能直接获取到生命周期对应的方法

解决方法:在 methods 内将与内置生命周期同名的方法定义为其他名称

onShow 生命周期获取不到页面传入参数

原因:onShow 生命周期无参数传入

解决方法:改在 onLoad 生命周期获取

使用 uni.createSelectorQuery 报错:page is not ready

原因:在错误的时机(如:onShwo、onLoad)调用 uni.createSelectorQuery

解决方法:改在 onReady 生命周期后获取

图像不显示

原因:使用了 img 标签加载本地图像,img 不再自动转为 image 组件,在 App 目前不支持加载本地文件(后续会优化)

解决方法:将 img 标签改为 image 标签。

img、div 等标签样式异常

原因:template 中标签使用的 img、div 等,style 中写的是 image、view 等

解决方法:标签改为一致的,比如将 template 中的 img 标签改为 image 标签,div 改为 view 标签,或者 style 中统一使用 img、div 等。

横竖屏动态切换后组件或文字比预期显示的大或小

原因:r/upx 根据屏幕宽度计算,切换屏幕方向前后计算的大小不一致

解决方法:固定屏幕方向(相关文档),或者使用其他单位:百分比、rem、vw 等(相关文档)

小程序组件库报样式错误

原因:小程序组件内部分压缩后的样式解析错误

解决方法:格式化报错的样式文件

小程序组件库不显示

问题:小程序组件内使用了 、

解决方法:手动修改对应的小程序组件去除 、 使用

组件内监听页面生命周期不生效

问题:组件内不支持直接监听页面生命周期(如:onPageScroll)

解决方法:使用js监听,参考

cover-view、cover-image 被原生组件覆盖

问题:App端 cover-view、cover-image 需要放到原生组件(video、map)内

解决方法: cover-view、cover-image 嵌套在原生组件(video、map)内:

在 js 中导入 css 报错

原因:目前 App 端不支持在 js 中导入 css(后续会优化)

解决方法:改为在对应组件(或页面)的 style 中

使用 instanceof 判断 uni-app 接口返回的数据类型与预期不符

原因:uni-app 接口(如:uni.base64ToArrayBuffer)返回的数据不支持使用 instanceof 判断类型

解决方法:改用其他方式判断类型,如:arrayBuffer instanceof ArrayBuffer改为Object.prototype.toString.call(arrayBuffer)==='[object ArrayBuffer]'

js vm报错_uni-app v3版本更新常见问题排查相关推荐

  1. 报错 | error ‘App‘ is not defined no-undef

    error  'App' is not defined  no-undef 解决方法:在vue.config.js文件中写入以下代码,之后在npm run serve/dev就行(如果没有这个文件,就 ...

  2. eclipse 如何忽略js文件报错

    本文翻译自:http://stackoverflow.com/questions/10254922/jquery-mobile-1-1-0-min-triggers-errors-in-eclipse ...

  3. win10编辑js文件报错,错误','

    在filezilla中编辑js文件报错,在本地可以使用文本编辑,但需重新上传覆盖,很不方便 在win10默认应用中修改为文本编辑即可,在FTP编辑: 直接可以打开编辑

  4. MyEclipse导入项目后 js文件报错

    当我们把项目导入MyEclipse的时候会发现导入的项目报错,点开一看是js文件报错了,那么我们应该如何处理导入MyEclipse之后js文件报错呢??? 首先,我们要保证我们导入的代码是正确的. 解 ...

  5. python调用js文件报错_python - selenium 运行网页中js脚本报错,提示未定义

    问 题 问题1 selenium 运行网易中js脚本报错提示未定义 报错提示如下: driver.execute_script("javascript:amsInit(62800,30315 ...

  6. flutter报错: your app to be migrated to the Android embedding v2

    flutter 升级到3.0.0后,运行报错your app to be migrated to the Android embedding v2, 查看项目后发现Android embedding ...

  7. JS undefined报错

    JS undefined报错 查看:onclick的调用者未找到 原因:调用该方法的变量的值为null,即节点未找到 解决:在引用此变量的前文对此变量进行定义并赋值,不可以在后面定义并赋值,js是从上 ...

  8. 运行JS代码报错:Uncaught TypeError: Cannot read property‘style‘ of undefined

    运行JS代码报错:Uncaught TypeError: Cannot read property'style' of undefined 这个报错的原因通常是没有获取指定的标签: 这个报错的原因通常 ...

  9. 编译报错Task :app:compileDebugJavaWithJavac FAILED ������ (1.8.0_251) �г����쳣��������� Bug Database

    这里写自定义目录标题 AS新建项目的编译报错Task :app:compileDebugJavaWithJavac FAILED AS新建项目的编译报错Task :app:compileDebugJa ...

最新文章

  1. mysql hang住_mysql 5.7不定期的hang住重启-问答-阿里云开发者社区-阿里云
  2. python绘制灰度图片直方图-python数字图像处理(9):直方图与均衡化
  3. Javascript--Boolean运算符
  4. Android之TextView属性详解
  5. java获取当前电脑的ip_使用Java获取当前计算机的IP地址
  6. java 网格布局管理器,Java使用网格组布局管理器
  7. Visual Studio Code 编辑器 使用入门
  8. Redis常用命令汇总
  9. php 设置页面最大执行时间 set_time_limit max_execution_time
  10. Window Linux双系统安装 超详细教程
  11. 什么是结构化数据、半结构化数据、非结构化数据
  12. 超级经典的图书下载网站:梦远书城
  13. Python12306自动抢票下单,五一旅游回家就选Python
  14. pdf.js插件在线预览pdf文件以及所遇问题解决方案(兼容IE)
  15. jcp jsr_Oracle提交了第三次JCP改革JSR,以提高透明度
  16. GScoolink GSV2201 TypeC/DP to HDMI2.0
  17. 《迅雷链精品课》第三课:区块链主流框架分析
  18. 苹果MacBook Pro usb连接iPhone反复重连解决方法
  19. 群晖nas 文件服务器,群晖nas挂到云服务器上
  20. 红光光浴抗衰机制#大健康#红光光浴#红光#种光光学

热门文章

  1. PostgreSQL Oracle 兼容性之 - PL/SQL FORALL, BULK COLLECT
  2. 企业生产环境不同业务的Linux分区方案
  3. Linux下安装jdk1.6
  4. nginx防止高负载的解决方案(sysgurad模块)
  5. poj3070矩阵快速幂
  6. javascript与jQuery对照学习总结(一)(一些常规操作)
  7. j2ee下的单元测试小工具
  8. python投资组合
  9. python cvxpy包安装教程
  10. Python 与 Excel结合