收藏
回答

在bindtouchend 事件中为data赋值,data的值为undefined?

代码如下:

changeTask: function(e) {
 
    var direction = e.detail.direction //滑动方向
    console.log(JSON.stringify(e))
    if (direction == 1) { //左滑
      if (this.currentSwiper > 0 && this.currentSwiper <= this.tasks.length - 1) {
        cSwiper -= 1
      }
    } else if (direction == 2) { //右滑
      if (this.currentSwiper >= 0 && this.currentSwiper < this.tasks.length - 1)
        cSwiper += 1
    } else { //没有滑动
      cSwiper = cSwiper
    }
    this.setData({
      currentSwiper: cSwiper
    })
    console.log("direction:" + direction + ";;this.currentSwiper:" + this.currentSwiper + ";;currentSwiper::" + cSwiper)
 
  }
 
})

其中cSwiper在 Page 上面定义的,即:

var cSwiper = 0

Page({

...

})

log输出为:

direction:2;;this.currentSwiper:undefined;;currentSwiper::0

即:data中的变量currentSwiper为undefined


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

1 个回答

  • 卢霄霄
    卢霄霄
    2019-10-08

    你用了什么框架吗?

    不然的话应该是 this.data.currentSwiper啊

    2019-10-08
    有用
    回复 2
    • 冈 刂
      冈 刂
      2019-10-08
      用的是小程序原生的,谢谢提醒。但是在componet中this.currentSwipe 
      没有出问题,在page里面,换成您的说这个就可以了,不加data就有问题
      2019-10-08
      回复
    • 卢霄霄
      卢霄霄
      2019-10-08回复冈 刂
      不应该啊。。除非component自己做了映射
      2019-10-08
      回复
登录 后发表内容
问题标签