微信小程序上传图片报错:ReferenceError:that is not defined

微信小程序上传图片报错

  • 问题背景

最近在开发一个微信小程序短视频项目,目前开发到用户中心模块,但是在实现头像上传功能时,头像上传成功,但是不能成功展示
微信小程序上传图片报错:ReferenceError:that is not defined_第1张图片
报错ReferenceError:that is not defined
微信小程序上传图片报错:ReferenceError:that is not defined_第2张图片

  • 问题原因

    这个问题相当的简单,在微信小程序中发送ajax请求时,有时候会遇到内部函数无法直接访问外部的this的问题。这是因为在内部函数中,this的上下文发生了改变。解决这个问题的一种常见方法是使用箭头函数(Arrow Function),箭头函数不会改变this的上下文。你可以将ajax请求的回调函数使用箭头函数进行定义,这样回调函数就能够访问到外部的this。这个是JS的问题(Vue中同样也有这个问题),一下子没注意,记录一下,加深一下记忆,或者提醒一下和我一样忘了的人

  • 问题解决

    在外部定义一个全局变量,然后将外部的this引用赋值给全局变量,就能够成功访问了
    微信小程序上传图片报错:ReferenceError:that is not defined_第3张图片修改之后,可以看到图片上传成功并成功展示
    微信小程序上传图片报错:ReferenceError:that is not defined_第4张图片

你可能感兴趣的:(Debug,微信小程序,小程序)