uni-app uni.chooseImage新错误
uni-app uni.chooseImage新错误
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 10.13.6 | HBuilderX |
操作步骤:
- 不填写参数调用uni.chooseImage
预期结果:
- 可以选择照片或者拍照
实际结果:
- 报错TypeError: Cannot read property ‘$watch’ of undefined
bug描述:
- 使用uni.chooseImage报错 Cannot read property ‘$watch’ of undefined
- 原本 sourceType 为默认参数可以不填,现在不填会报错,无法同时设置从相册选取和手机拍摄,只能设置一个。
更多关于uni-app uni.chooseImage新错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app uni.chooseImage新错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个在特定HBuilderX版本中出现的兼容性问题。Cannot read property '$watch' of undefined错误通常是由于uni-app框架内部组件初始化异常导致的。
问题分析:
- 在较新的HBuilderX版本中,
uni.chooseImage方法的参数验证机制有所变化 - 当不传递任何参数时,框架内部对options参数的解析可能出现异常
- 这导致了Vue响应式系统在访问未定义对象时抛出错误
解决方案: 明确传递完整的参数配置:
uni.chooseImage({
count: 9, // 默认9张
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图
sourceType: ['album', 'camera'], // 同时支持相册和相机
success: (res) => {
// 成功回调
},
fail: (error) => {
// 失败回调
}
});

