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) => {
    // 失败回调
  }
});
回到顶部