收藏
回答

this.setData赋值之后, 立即this.data,能够获取到变化到值么?

比如:当前this.setData({ a : 1}),这时候能立即取到 this.data.a 的变化的值么??


onShow(){

let a = 0

this.setData({

a: 1

})


this.data.a 是否就能取到已变化到值呢?

}

回答关注问题邀请回答
收藏

6 个回答

  • 杨泉
    杨泉
    2020-01-08

    setData是有成功回调hook的,


    你可以这么写


    let a = 0


    this.setData({a}, function(){

    console.log(this.data.a)

    })

    2020-01-08
    有用 3
    回复 2
    • ㅤ国民校草ㅤ
      ㅤ国民校草ㅤ
      2020-01-08
      正解
      2020-01-08
      回复
    • 2020-01-09
      我用这种方法也取到了!
      2020-01-09
      回复
  • nono
    nono
    2020-12-12

    本人刚问了一个问题:

    程序中有如下语句:

    .....

    this.setData({imD:"true"},()=>{

      if(this.data.imD!='true')

        wx.showModal({ title: '提醒!',content: '程序37未正确执行!', showCancel: false})

     })

    ......

    问:理论上,提醒语句有显示出来的可能吗? 实践中确实发现,偶尔该提醒语句会出现,但事后检查imD的内容并未错(是“true”),为什么提醒语句会显示?


    2020-12-12
    有用
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-01-08
    this.setData({a:1},()=>{
    
    console.log(this.data.a)
    
    })
    
    
    
    

    楼上杨泉的操作是目前主流并且推荐的代码

    2020-01-08
    有用
    回复
  • ᥬ[吃瓜]᭄
    ᥬ[吃瓜]᭄
    2020-01-07

    https://developers.weixin.qq.com/miniprogram/dev/api/ui/custom-component/wx.nextTick.html

    2020-01-07
    有用
    回复
  • 王浩Hanks🇨🇳
    王浩Hanks🇨🇳
    2020-01-07
    你试试看,我也不知道
    2020-01-07
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2020-01-07
    你代码都写出来了,你试试啊
    2020-01-07
    有用
    回复 4
    • zy
      zy
      2020-01-07
      试的时候是更改了,但是有时候就会获取不到,现在就想确认下这样写会不会存在隐患,
      2020-01-07
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-01-07回复zy
      哪些时候获取不到,能复现吗
      2020-01-07
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-01-07回复zy
      如果能碰到有时候获取不到,这些写就是存在隐患的
      2020-01-07
      回复
    • zy
      zy
      2020-01-08回复Mr.Zhao
      恩谢谢回复
      2020-01-08
      回复
登录 后发表内容
问题标签