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 判断(如:,不是:)