收藏
回答

setTimeout 报错 undefined, 求解答

onPageScroll(e) {
          if(this.Sid){
              clearTimeout(this.Sid);
          };
          let st = flag => {
              this.setData({
                 isShowBackTop: flag
              })
          }
          this.Sid = setTimeout(() => {
              let top = this.data.isShowBackTop;
              if(e && e.scrollTop > 400){
                  !top && st(true);
              }else{
                  top && st(false);
              }
          },500);
      },


错误样例: undefined;at page/hotel/pages/inland/promotions/bargain/index onPageScroll function;at setTimeout callback function


纠结了很久 就是找不到错误原因那!!!!  求官方解答。

最后一次编辑于  2018-10-09
回答关注问题邀请回答
收藏

5 个回答

  • K
    K
    2018-10-16

    试试看哈

    2018-10-16
    有用
    回复 1
    • 大兵
      大兵
      2019-10-11
      楼主解决问题了么
      2019-10-11
      回复
  • 哆唻咪
    哆唻咪
    2018-10-16

    楼主解决了吗?我也遇到这问题了  之前都没有

    2018-10-16
    有用
    回复 1
    • K
      K
      2018-10-16

      没有解决啊  依旧报错

      2018-10-16
      回复
  • Dreaming
    Dreaming
    2018-10-10

    有没有使用框架,我以前用框架也遇到过类似问题

    2018-10-10
    有用
    回复 1
    • K
      K
      2018-10-16

      就是在小程序原有 的基础上封装了一层

      2018-10-16
      回复
  • 这都申请了
    这都申请了
    2018-10-09

    运行没啥问题啊,另外为什么要用setTimeout?

    2018-10-09
    有用
    回复 1
    • 卢霄霄
      卢霄霄
      2018-10-09

      看起来是想逼近滑动停止的效果

      2018-10-09
      回复
  • 卢霄霄
    卢霄霄
    2018-10-09

    感觉是e没了,方法里第一行加个 let event = e 呢

    2018-10-09
    有用
    回复 2
    • undefined
      undefined
      2018-10-09

      感觉是setTimeout 里面的this 指向问题。

      2018-10-09
      回复
    • 卢霄霄
      卢霄霄
      2018-10-09回复undefined

      他用的箭头函数,onPageScroll是生命周期函数了,this指向对的啊

      2018-10-09
      回复
登录 后发表内容