收藏
回答

如何异步改变dada的值

问题模块
API和组件

请问下,数据绑定这里

page.data里设置的数据。如果在异步事件里改变呢。

我要通过网络请求改变data的值,通知前台刷新。

最后一次编辑于  2017-01-04  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 白玉雄
    白玉雄
    2017-01-04
    Page({
      data: {
        count: 1
      },
      add: function(e) {    this.setData({
          count: this.data.count + 1
        })
      }
    })

    使用setData,代码如上。

    2017-01-04
    赞同
    回复
  • One
    One
    2017-01-04

    xxx:function(){

        let that = this;

        xx().then(function(x){

            that.setData({

                x

            });

        },()=>{});

    }


    2017-01-04
    赞同
    回复
  • 张凯
    张凯
    2017-01-04

    一个重点:不管异步同步,都不要直接去设置Page.data这个属性,而要用setData()方法。


    示例:

    Page({
       data: {
         mydata: {}
       },
     
       testFunc: function () {
        var that = this
     
        wx.request({
           url: 'https://......',
           success: function(res) {
               that.setData({
                   mydata: res.data
               })
           }
        })
      }
    })


    2017-01-04
    赞同
    回复
  • jican
    jican
    2017-01-04

    setData 本身驱动 View 更新就是异步的

    2017-01-04
    赞同
    回复