微信小程序 this和that用法
2017-03-09 19:39
316 查看
转自:http://www.jb51.net/article/105467.htm
微信小程序中,在wx.request({});方法调用成功或者失败之后,有时候会需要获取页面初始化数据data的情况,这个时候,如果使用,this.data来获取,会出现获取不到的情况,调试页面也会报undefiend。原因是,在javascript中,this代表着当前对象,会随着程序的执行过程中的上下文改变,在wx.request({});方法的回调函数中,对象已经发生改变,所以已经不是wx.request({});方法对象了,data属性也不存在了。官方的解决办法是,复制一份当前的对象,如下:
?
在success回调函数中使用that.data就能获取到数据了。
不过,还有另外一种方式,也很特别,是将success回调函数换一种声明方式,如下:
?
在这种方式下,this可以直接使用,完全可以获取到data数据。
再给一个完整的例子:
?
微信小程序中,在wx.request({});方法调用成功或者失败之后,有时候会需要获取页面初始化数据data的情况,这个时候,如果使用,this.data来获取,会出现获取不到的情况,调试页面也会报undefiend。原因是,在javascript中,this代表着当前对象,会随着程序的执行过程中的上下文改变,在wx.request({});方法的回调函数中,对象已经发生改变,所以已经不是wx.request({});方法对象了,data属性也不存在了。官方的解决办法是,复制一份当前的对象,如下:
?
不过,还有另外一种方式,也很特别,是将success回调函数换一种声明方式,如下:
?
再给一个完整的例子:
?
相关文章推荐
- [微信小程序]this.setData , that.setData , this.data.val三者之间的区别和作用
- 微信小程序 this和that详解及简单实例
- 微信小程序 page.js 中的 函数调用(this, that)
- 小程序中 that和this用法
- 微信小程序 this和that详解及简单实例
- 微信小程序开发之get请和post请求的两种用法
- 微信小程序 this.setData is not a function
- 微信小程序toFixed()和toPrecision()的用法
- 微信小程序的组件用法与传统HTML5标签的区别
- 微信小程序web-view用法
- 微信小程序开发指南合集 各类组件用法技巧
- 【微信小程序】详解wx:if elif else的用法(搭配view、block)
- 微信小程序 this.setData is not a function
- Javasript 关于self(that) = this用法的理解
- js常见的var that = this的用法
- 微信小程序 this.setData is not a function
- 微信小程序 报错:this.setData is not a function
- 微信小程序 -- 视图层的用法
- 微信小程序开发指南合集 各类组件用法技巧
- 微信小程序 连续旋转动画(this.animation.rotate)详解