微信小程序上传图片报错
- 问题背景
最近在开发一个微信小程序短视频项目,目前开发到用户中心模块,但是在实现头像上传功能时,头像上传成功,但是不能成功展示
报错ReferenceError:that is not defined
-
问题原因:
这个问题相当的简单,在微信小程序中发送ajax请求时,有时候会遇到内部函数无法直接访问外部的this的问题。这是因为在内部函数中,this的上下文发生了改变。解决这个问题的一种常见方法是使用箭头函数(Arrow Function),箭头函数不会改变this的上下文。你可以将ajax请求的回调函数使用箭头函数进行定义,这样回调函数就能够访问到外部的this。这个是JS的问题(Vue中同样也有这个问题),一下子没注意,记录一下,加深一下记忆,或者提醒一下和我一样忘了的人
-
问题解决
在外部定义一个全局变量,然后将外部的this引用赋值给全局变量,就能够成功访问了
修改之后,可以看到图片上传成功并成功展示