700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 微信小程序项目中that和this的区别(this.setData()报错undefined解决方法)

微信小程序项目中that和this的区别(this.setData()报错undefined解决方法)

时间:2021-08-22 02:27:06

相关推荐

微信小程序项目中that和this的区别(this.setData()报错undefined解决方法)

在编写获取用户信息进行登录的代码时,报了一个这样的错误

后面经过摸索,最终发现是this指向的问题!!!

现在我们来看看如何解决小程序中this指向问题以及that和this的区别

在微信小程序中,setData使用最频繁的接口,也是最容易引发性能问题的接口

在上面发生了'setData' undefined,那么我们定位到问题代码段

this代表着当前对象,会随着程序的执行过程中的执行上下文改变

通常就是谁调用它,this就指向谁

打印this,看看它到底指向谁!!!

分别打印两个不同位置的this,看看它们分别指向什么

外部的this指向的是当前页面,内部的this为undefined

我们调用setData是要改变这个页面的data的值,所以这里用到的this是外部的this

如何修改this?

通过我们通过将外部this赋给that,来使用外部this即可,当然这里的that换成其他变量名都可以,只是大家经常用that来命名 !

箭头函数的方法

ES6语法增加了箭头函数的规则,箭头函数的this指向上一级作用域

所以我们可以直接把success回调函数里写成箭头函数形式!!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。