主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
=this的声明var在微信小程序开发中很常见。 例如,代码如下所示!
示例代码1
1 //index.js 2 Page({ 3 4 data: { 5 pastHidden: true, 6 }, 7 8 loadData: function () { 9 var that = this //在这里声明;将其存储在其中 10 wx.request({ 11 url: 'test.php', 12 data: {a: 'a', b: 'b'}, 13 header: { 14 ' content [k3 ]type': 'application/json' 15 }, 16 success(res) { 17 that.setData({ pastHidden: false }) //现在可以获取Page({})对象 此处使用 18 }, 19 }) 20 } 21 22 })
=此变量在代码第 9 行声明。
如果 var that =this 没有声明并且 that 更改为 this,则代码将如下所示: 示例代码2
1 //index.js 2 Page({ 3 4 data: { 5 pastHidden: true, 6 }, 7 8 loadData: function () { 9 wx.request({ 10 url: 'test. php', 11 数据: {a: 'a', b: 'b'}, 12 header: { 13 'content-type': 'application/json' 14 }, 15 success(res) { 16 this.setData({ pastHidden: false }) 17 }, 18 }) 19 } 20 21 })
此时运行代码会报告以下错误:
报错显示setData属性无法读取。 为什么读不到? 这与this关键字的范围有关。
this作用域分析:
1.在Page({})中,this关键字指的是Page({})的整个对象。
2. 因此,您可以使用 this 关键字来访问或重置 Page({}) 中的数据变量。
3. 但是,当您在loadData函数中使用wx.request({}) API方法时,wx.request({})无法使用它来检索Page({})对象。
4. 你不能使用wx.request({})来获取Page({})对象,但是你可以先将其存储在wx.request({})之外的变量中,这样语句var that =就有了this。 目前,this 指的是 Page({}) 的整个对象,因此您可以在 wx.request({}) 中使用它来访问或重置 Page({}) 中数据的变量。
推荐教程:《JS教程》
微信小程序下载
微信是一款移动通讯软件,支持通过移动网络发送语音消息、视频、照片和文本。 微信带来了全新的移动通信体验,您可以单独或群组聊天,还可以根据您的地理位置查找附近的人。 有需要的朋友,请快来保存您的下载体验吧!
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:微信小程序开发中var that =this的基本用法 https://zhujicankao.com/123794.html
评论前必须登录!
注册