关于 setData 同步异步的问题

这篇具有很好参考价值的文章主要介绍了关于 setData 同步异步的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序官方文档中的回答解释:

关于 setData 同步异步的问题,小程序,微信小程序,小程序

所以大概意思就是:

   1.setData在逻辑层的操作是同步,因此this.data中的相关数据会立即更新,比如下面的例子:

const a = 1
this.setData({
      b: a  ? a : '',
})
console.log(that.data.b)  // 1

         2. setData在视图层的操作是异步,因此页面渲染可能并不会立即发生。 

其实从逻辑层发送到视图层的过程中相比直接在逻辑层内操作会花费更多时间,当然也存在有更多不确定,为了保证用户体验与以及减少系统开销,就将后边的操作设置为了异步。

我们有时候有些代码需要在确定 setData 引起的页面渲染完成之后执行,也可以执行渲染完成之后的回调函数,例子如下:文章来源地址https://www.toymoban.com/news/detail-791257.html

this.setData({
        "a": "123"
    },
    function() {
        console.log(this.data.a)  //123
    }
)

到了这里,关于关于 setData 同步异步的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序 - setData

    1、setData  函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的  this.data  的值(同步)。 2、其中  key  可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如  array[2].message , a.b.c.d ,并且不需要在 this.data 中预先定义。 3、直接修改 t

    2024年02月11日
    浏览(36)
  • 微信小程序——解决异步问题

    在小程序中,异步请求通常是通过使用微信小程序提供的API来实现的,最常见的是使用wx.request()函数来发送异步网络请求。解决小程序的异步请求问题通常涉及以下几个方面: 在微信小程序中,异步问题可能会对程序的执行顺序和数据更新产生影响。以下是几个与异步相关的

    2024年02月05日
    浏览(38)
  • 微信小程序 - 解决 setData() 无法修改 properties 数据的问题,修改子组件 properties 传递过来的数据(父级页面传入子组件的数据无法更新修改的问题,简洁快速解决方案!)

    当页面(父组件)传递给子组件属性时,需要使用 properties 属性接收,但遗憾的是后续无法对该属性下的数据进行更新数据。 本文实现了微信小程序开发中,解决子组件使用 properties 接收后,无法进行数据的编辑与更新问题, 简单来说,就是组件内部无法通过 setData 对 pro

    2024年02月16日
    浏览(70)
  • 微信小程序setData注意事项,使用方法

    1..微信小程序开发中,为了减少data和视图层数据表现不一致,全部采用setData方法修改值。 setData函数注意事项 1..直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。 2..单次设罟的数据不能超过1024kB,请尽量避免一次设罟过多的数据, 3..请

    2024年02月16日
    浏览(42)
  • 微信小程序this.setData给对象&数组动态赋值

    1. 固定属性赋值 wxml:  js: 这个时候页面上显示的是 hellow 当我们修改的时候有2种方案 2.动态属性赋值 wxml: js: 修改数组里对象的属性 通过es6模版字符串 `` 的方式 key 可以作为变量 wxml:  js: 循环修改 3.双向数据绑定 经过多次尝试提交 获取到的formData.title数据为空,据说加上

    2024年01月19日
    浏览(45)
  • 微信小程序this.setData修改对象、数组中的值

    在微信小程序的[前端开发]中,使用this.setData方法修改data中的值,其格式为: 需要注意的是,如果是简单变量,这里的参数名可以不加引号。 经过测试,可以使用3种方式对data中的对象、数组中的数据进行修改。 假设原数据为: 方式一: 使用字符串,例如: 方式二: 构造

    2024年02月10日
    浏览(48)
  • 微信小程序中this.data 和 this.setData

    在微信小程序中,this.data 和 this.setData 是两个用于处理数据的不同方式。 1、this.data:this.data 是一个对象,用于存储小程序页面的数据。当我们需要获取或修改页面的数据时,可以直接访问和操作 this.data 对象。例如,this.data.name 可以获取名为 name 的数据,this.data.name = ‘Jo

    2024年02月03日
    浏览(49)
  • 微信小程序this.setData()对单个属性值、对象、数组的使用

     单个属性值: 第一种写法:直接写单个属性值  第二种写法:数组形式的字符串单个属性值  对象: 第一种写法:字符串写对象  第二种写法:数组形式的字符串写对象   数组: 第一种写法:字符串写数组  第二种写法:数组形式的字符串写数组

    2024年02月06日
    浏览(47)
  • 微信小程序使用setData修改数组中的指定下标的属性值

    因为小程序中分有逻辑层和渲染层等。所以需要用setdata函数,渲染到视图界面。普通的修改属性是通过 this.setData({aa:true}) 的方法设置,但是本人遇到一种情况,需要通过下标区改变数组某一项中的某属性的值,方法如下: 结构: js: 备注:通过 let checkProp = \\\"rightRoomList[\\\" +

    2024年02月15日
    浏览(39)
  • 巧用回调函数解决微信小程序与后台数据交互出现的异步问题

            微信小程序端需要发送一个包含文字与图片的表单数据给后端,我一开始的思路是 先 上传图片得到临时的URL, 后 执行POST请求将表单数据发送给后端,但后端只能获取到文字,而图片URL却始终获取不到。         注意看我上面的思路, 一先一后 ,无形中将两

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包