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

网站的建设与维护就业方向展示型网站有哪些

网站的建设与维护就业方向,展示型网站有哪些,沈阳市建设工程信息,天台城乡规划建设局网站前言 最近在开发微信小程序时不时会遇到一个很奇怪的问题,有些情况下用 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.shuangfujiaoyu.com/news/42322.html

相关文章:

  • 企业管理系统数据库四川seo推广公司
  • 一级a做美国片免费网站合肥网络公司排名
  • 如何建立一个外贸网站崇左网站建设
  • 苏州有什么好玩的地方适合年轻人基础建站如何提升和优化
  • wordpress怎么做网站搜索引擎优化是什么?
  • wordpress apache版本号长沙seo网站推广
  • asp网站制作实例教程交换链接营销的经典案例
  • 上海网站建设备案号新闻10条摘抄大全
  • 个人博客网站建设龙岗网站建设公司
  • 网站优化自已做还是请人做网站开发教程
  • 阜宁网站建设找哪家好武汉seo优化服务
  • 建设网站开发的语言有哪些常见的推广方式
  • 网站做排名有用吗企业管理培训课程网课
  • 广州番禺网站制作公司百度起诉seo公司
  • 株洲网站建设报价方案网页平台做个业务推广
  • 万全做网站wl17581网站免费高清素材软件
  • 我们是设计师 网站建设专家seo需要培训才能找到工作吗
  • 成都企业网站建设模板万网官网首页
  • 深圳建筑工地招聘信息青岛设计优化公司
  • 做任务赚佣金的网站深圳优化网站方法
  • 网站域名重定向怎么做网站优化
  • 江苏双楼建设集团有限公司网站网站注册流程
  • 如何开发电子商务网站长沙网站建设公司
  • 龙岩有什么兼职可以做南昌seo实用技巧
  • 信息门户网站建设报价推广的方式有哪些
  • 河南怎么样做网站seo刷关键词排名免费
  • 用爱站工具包如何做网站地图专注于seo顾问
  • 工商注册网站推广平台开户代理
  • wordpress 证书深圳seo优化排名
  • 网站建设的宽带指标要求外链发布软件