当前位置: 首页 > news >正文

网站名称价格网站制作需要哪些软件

网站名称价格,网站制作需要哪些软件,兰州最好的网站建设公司哪家好,百度小说app下载前言 最近在开发微信小程序时不时会遇到一个很奇怪的问题,有些情况下用 this.setData 可以改变视图显示,有些情况下使用 this.setData 无效,这又是为什么呢? 问题描述 在解释这个问题前,我们先来看两段代码&#xff1…

前言

最近在开发微信小程序时不时会遇到一个很奇怪的问题,有些情况下用 this.setData 可以改变视图显示,有些情况下使用 this.setData 无效,这又是为什么呢?


问题描述

在解释这个问题前,我们先来看两段代码:

第一段代码(错误写法)

initOn() {wx.request({url: "接口地址",success: function (res) {this.setData({objs: res.data.map.gdtzxx,});},});
},

第二段代码(正确写法)

initOn() {let that = this;wx.request({url: "接口地址",success: function (res) {that.setData({objs: res.data.map.gdtzxx,});},});
},

通过对比上面的代码我们发现,两者唯一的区别就是在 this 的使用上,第一个是直接使用 this 调用,另一个则是通过 let that = this,使用 that 来保存当前的 this 的状态才可以更新视图。虽然看似最终的目的是一致的,但是当你运行时,第一种写法就会报如下图的错误:

在这里插入图片描述


原因分析

这是因为 this 作用域指向的问题,success 函数实际是一个闭包 , 无法直接通过 thissetData,故就会报错。

但是在 es6 中,使用了箭头函数是不存在这个问题的。原因是因为当我们使用箭头函数时,函数体内的 this 对象,就是定义时所在的对象,而不是使用时所在的对象。并不是因为箭头函数内部有绑定 this 的机制,实际原因是箭头函数根本没有自己的 this,它的 this 是继承外面的,因此内部的 this 就是外层代码块的 this

es6 箭头函数写法

initOn() {wx.request({url: "接口地址",success: (res) => {this.setData({objs: res.data.map.gdtzxx,});},});
},
http://www.yayakq.cn/news/743705/

相关文章:

  • 做网站服务器权限设置seo com
  • 起域名网站基于oa系统的网站建设
  • 用discuz做网站树莓派搭建wordpress卡不卡
  • 网站导航结构做网站的公司名称
  • 安徽方圆建设有限公司网站西安网站建设推广优化
  • 为企业设计一个网站中铁建设企业门户登录
  • 娄底网站建设网站云南seo公司
  • 吉林房地产网站开发百度推广还要求做网站
  • 北京网站设计工资多少wordpress+企业库插件
  • 济宁网站建设服务卓拙科技做网站吗
  • 深度网网站建设wordpress显示插件怎么用
  • 视频网站 外链微信网页版怎么扫描二维码
  • 网站建设都需要什么wordpress 增加中文
  • 网站建设腾讯云与阿里云用jsp实现网站开发的流程
  • 建设网站 宣传平台开发公司与物业公司合同
  • 公司网站建设步骤网站优化建设桂林
  • 蒙山县网站建设网站建设管理制度落实
  • 侨联网站建设麻涌做网站
  • 什么网站做的最好苏州市高新区建设局网站
  • 贵阳设计网站建设怎么在wordpress中添加类似赶集网的地图
  • 云网站系统龙岩网吧
  • 温州网站建设公司公司哪家好网站管理运营
  • 中小学学校网站建设网站用户体验设计
  • 招聘做牙技工的网站公司广告墙设计
  • 建设规划展览馆网站的优势茶百道加盟费大概要多少
  • 互动网站建设什么意思做网站有生意吗
  • 青岛城市建设档案馆网站电商网站建设设计报告总结
  • 重庆有什么好玩的游乐场seo 网站title
  • 网站项目建设措施中国营销传播网官网
  • 青海省住建局和建设厅门户网站合肥网站开发招聘