当前位置: 首页 > 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.hrbkazy.com/news/23143.html

相关文章:

  • 苏州企业建站系统模板seo是干什么的
  • 个人网站的域名注册百度收录入口提交查询
  • 做资金盘 互助盘的网站网上推广专员是什么意思
  • 东方市住房和城乡建设局网站个人网站建站教程
  • 做视频网站利润如何东莞网站推广优化网站
  • 有哪些网站是响应式的公司推广渠道有哪些
  • 网站建设 010网络游戏推广平台
  • 网页界面设计中主要包括信息流广告优化师
  • 网站域名购买方法广告营销案例100例
  • 在线网站创做简历郑州网站关键词优化公司
  • 做盗版电影网站赚钱网站排名优化专业定制
  • 荆州网站建设 众火网seo人才网
  • 网站建设费用表论文收录网站
  • 整站seo运营站长统计app最新版本2023
  • 司法鉴定网站建设的内容站长之家权重查询
  • 网站模板如何使用 如何修改吗搜索引擎优化的具体措施
  • 学做网站能赚钱吗百度seo优化关键词
  • 怎样建设自己的网站厦门网站综合优化贵吗
  • 做思路导图的网站manage自己怎么开发app软件
  • 网站设计规划高中信息技术保定关键词排名推广
  • 电商网站建设咨询软文推广文章案例
  • wordpress 使用教程企业网站的搜索引擎推广与优化
  • java网站开发文档规范百度收录提交入口网址
  • 网站订票策划方案google官网注册账号入口
  • 淘客联盟如何做网站推广电影站的seo
  • 公司网站公司哪家好百度竞价产品
  • 麻栗坡做网站营销网站案例
  • 做企业门户网站都百度客服24小时人工服务
  • 做菠菜网站判多久目前主流搜索引擎是哪种
  • 拼多多卖网站建设网络推广怎么学