收藏
回答

if else语句实现不了?

state初始值为0,在下拉中,if state=0,就执行more事件,否则不执行。more事件中如果获取不到更多数据就将state的值置为1.

data:{
state:0
},

onReachBottom: function () {
    let state=state
    if(state ==0){
    this.more()
  }
    else{
      console.log("空")
    }
  },


  more: function () {
    const db = wx.cloud.database();
    let x = this.data.list_nums + 20
    let old_data = this.data.list
    db.collection('order').skip(x).get()
      .then(res => {
        if(res.data==null || res.data==0 || res.data==" "){
          console.log("为空")
          wx.showLoading({
            title: '没有更多数据了',
            duration: 800
          })
          this.setData({
            state:1 //没有更多数据就将state置1
          })
        }
        else{
        this.setData({
          list: old_data.concat(res.data),
          list_nums: x
        })
          console.log(res.data)}
      })
      .catch(err => {
        console.error(err)
      })
  },
回答关注问题邀请回答
收藏

2 个回答

  • 王志鹏
    王志鹏
    10-10
    let state=state
    是什么鬼   state值哪来的?   
    
    let state= this.data.state
    吧?
    
    10-10
    有用 1
    回复 4
    • 败者为寇
      败者为寇
      发表于小程序端
      10-10
      data里值 不知道怎么使用
      10-10
      回复
    • 王志鹏
      王志鹏
      10-10回复败者为寇
      let state= this.data.state   用这个
      10-10
      1
      回复
    • 败者为寇
      败者为寇
      发表于小程序端
      10-10回复王志鹏
      好的,谢谢。那后面置state为1会同步到这个判断语句吗
      10-10
      回复
    • 王志鹏
      王志鹏
      10-10回复败者为寇
      this.setData({
                  state:1 
              })
      这样可以同步
      10-10
      回复
  • Butterfly。
    Butterfly。
    10-10

    一楼正解

    10-10
    有用
    回复
登录 后发表内容
问题标签