收藏
回答

云数据库remove方法的回调无法使用this.data.xxx?

代码如下:

 wx.showActionSheet({
      itemList: ['删除'],
      success(res) {
        console.log(res.tapIndex)
        db.collection('cart').doc(event.target.dataset.id).remove({
          successres =>{
            console.log('删除成功',res)
            wx.showToast({
              title'删除成功',
              icon:'none'
            })
            let list = this.data.list.splice(event.target.dataset.index,1)//报错
            console.log('删除:',list)
            this.setData({
              list: list
            })
           
          }
        })
      },
      fail(res) {
        console.log(res.errMsg)
      }
    })
回答关注问题邀请回答
收藏

1 个回答

  • 徘徊_
    徘徊_
    2020-06-19

    很明显无法这样调用;

    现在this所代表的的是db.collection('cart').doc(event.target.dataset.id).remove这个方法,你要调用该js内的其他函数需要现在外部指定this所代表的内容;

    在wx.showActionSheet方法前面指定一个值 var _that=this; 然后函数里面的this 都换成 _that

    2020-06-19
    有用 1
    回复 1
    • Seaton
      Seaton
      2020-06-19
      可以了,谢谢
      2020-06-19
      回复
登录 后发表内容
问题标签