收藏
回答

如何解决_this.setData与this.setData都无法赋值?

onLoad: function (options) {
    const db = wx.cloud.database({
        env: 'ka-tset-pz57d'
    })
    db.collection('readergoods').get({
        success: res=> {
            console.log(res.data)   ,
            console.log(res.data[0].goods_name)   
            this.setData({
                goodslists: res.data,
                name:res.data[0].goods_name,
                price:res.data[0].goods_price
            })
            
        }
    })
},    

第二种方法

onLoad: function (options) {
    var _this = this;
     const db = wx.cloud.database({
        env: 'ka-tset-pz57d'
    })
    db.collection('readergoods').get({
        success: function(res) {
            console.log(res.data)   ,
            console.log(res.data[0].goods_name)   
            _this.setData({
                goodslists: res.data,
                name:res.data[0].goods_name,
                price:res.data[0].goods_price
            }) 
        }
    })
},    

这两个都没有赋值成功

但是都可以console.log在控制台输出出来

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

4 个回答

  • 仓戈
    仓戈
    2020-11-08

    解决了吗?我看着教程跟人家一样的代码,也是无法赋值。console.log可以打印data,但不能赋值,如果解决了,请指教

    2020-11-08
    有用
    回复 1
    • 魏学武
      魏学武
      03-19
      setData里的所有值,都必须有值,不能出现undefined之类的,否则赋值不成功。所以,做if判断,确定的值去调用setData赋值,undefined的不能混杂在里面。
      03-19
      回复
  • hsx🍉
    hsx🍉
    2020-10-09

    我遇到了同样的问题,但是我是之前一直可以的,就今天突然不行了,console可以打印出来,但就是使用this.setData赋不了值,而且this.setData后边的console也打印不了,

    2020-10-09
    有用
    回复 3
    • 魏学武
      魏学武
      03-19
      setData里的所有值,都必须有值,不能出现undefined之类的,否则赋值不成功。所以,做if判断,确定的值去调用setData赋值,undefined的不能混杂在里面。
      03-19
      回复
    • 魏学武
      魏学武
      03-19
      if (statuss == 1) {
                  this.setData({
                      orderData: JSON.parse(options.orderData),
                      status: statuss,
                  })
              } else {
                  this.setData({
                      orderData: JSON.parse(options.orderData),
                      status: statuss,
                      paramDic: JSON.parse(options.paramDic)
                  })
              }
      03-19
      回复
    • 魏学武
      魏学武
      03-19
      在上个页面,根据成功传status=1 和orderData,失败传status=0 和orderData 和paramDic三个,在onload函数里,只调this.setData({
                      orderData: JSON.parse(options.orderData),
                      status: statuss,
                      paramDic: JSON.parse(options.paramDic)
                  })这个是在status=1情况赋值不成功的,所以,做了if判断,分开来,因为有undefined
      03-19
      回复
  • panpan
    panpan
    2020-07-07

    解决了吗


    2020-07-07
    有用
    回复
  • 子不语
    子不语
    2020-05-21

    console 有打印吗?

    请学会如何「提问」(👈戳我)

    2020-05-21
    有用
    回复 2
    • 空折枝
      空折枝
      2020-05-21
      有打印出来
      2020-05-21
      回复
    • hsx🍉
      hsx🍉
      2020-10-09回复空折枝
      解决了吗楼主
      2020-10-09
      回复
登录 后发表内容
问题标签