TypeError: Cannot read properties of undefined (reading 'callMethod') at uni-app-view.umd.js:1
- 发布:2023-03-06 14:28
- 更新:2023-03-08 16:02
- 阅读:439
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 3.7.3
手机系统: Android
手机系统版本号: Android 12
手机厂商: 小米
手机机型: K40
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
TypeError: Cannot read properties of undefined (reading 'callMethod') at uni-app-view.umd.js:1
TypeError: Cannot read properties of undefined (reading 'callMethod') at uni-app-view.umd.js:1
实际结果:
TypeError: Cannot read properties of undefined (reading 'callMethod') at uni-app-view.umd.js:1
TypeError: Cannot read properties of undefined (reading 'callMethod') at uni-app-view.umd.js:1
首次调用时,可能当前组件的ComponentDescriptor实例未挂载到this.$ownerInstance上,通讯时会导致报错,您可以使用以下方法
getArray(newValue, oldValue, ownerInstance) {
ownerInstance.callMethod('xxx')
}
-
w***@sina.com (作者)
好的,谢谢,我去试试,另外有一个miui14 input 兼容性的问题 type password 和 type text 来回切换时,导致页面上推错位, 我这边设置的禁止上推页面 vue app 页面
2023-03-08 19:45
w***@sina.com (作者)
我是用 watch 监听 vuex 数据变化后 响应式变量++ ,view 监听响应式变量变化后 在通过 view @renderjs.方法 来调用 ,感觉是 vuex 和 watch 已经加载完可用 但 renderjs 还没有加载完 所以才会出现首次运行时报错, 之后再改变数据就不会报错的问题.
2023-03-08 13:44
w***@sina.com (作者)
getArray(val){
setTimeout(()=>{
this.$ownerInstance.callMethod('onArray',this.sortable.toArray());
}, 300);
}
把 renderjs 里的 方法 加上 setTimeout 就不会报错了? 请问还有其他更好的方法吗?
2023-03-08 15:27