wx.compressImage({ src: res.tempImagePath, // 原图片路径 quality: 50, // 压缩质量, complete: compRes => { console.log(compRes.tempFilePath) this.setData({ 'form.compImg': compRes.tempFilePath }) } }) |
console.log(compRes.tempFilePath)能打印出来正确的临时路径,但是往form.compImg里赋值就是一直时undefined??

onTakePhoto() {varthat =this;const ctx = wx.createCameraContext();ctx.takePhoto({quality:'high',success: (res) => {wx.compressImage({src: res.tempImagePath,// 原图片路径quality: 50,// 压缩质量,complete: compRes => {console.log(compRes.tempFilePath)that.setData({'form.compImg': compRes.tempFilePath})}})that.setData({src: res.tempImagePath,'form.img': res.tempImagePath})console.log('compImg:', that.data.form.compImg)console.log('orignImg:', that.data.form.img)}})}异步回调里面 setData 不能用this,在回调外把this赋给一个变量
that=
this//......that.setData({//.....我是拍照后,对图片进行压缩再上传的
onTakePhoto() {const ctx = wx.createCameraContext();ctx.takePhoto({quality:'high',success: (res) => {wx.compressImage({src: res.tempImagePath,// 原图片路径quality: 50,// 压缩质量,complete: compRes => {console.log(compRes.tempFilePath)this.setData({'form.compImg': compRes.tempFilePath})}})this.setData({src: res.tempImagePath,'form.img': res.tempImagePath})console.log('compImg:',this.data.form.compImg)console.log('orignImg:',this.data.form.img)}})}是不是里面不能直接使用this
在最外面用变量试试呢?