Vue路由back回退时判断有没有上一个路由

查出来的资料是:

onClickLeft () {
      if (window.history.length <= 1) {
        this.$router.push({ path: '/' })
        return false
      } else {
        this.$router.go(-1)
      }
      // 上面都没执行就说明卡在当前页不是最后一条, histroy记录数量大于1,又没有回退记录,只能返回首页,
      // 如果上面都执行了 页面都跳走了,这个也就不用管了
      setTimeout(() => {
        this.$router.push({ path: '/' })
      }, 500)
  }

发现:底下的setTimeout的函数他会在返回上一页面之后 500毫秒之后跳转到首页

修改代码为:

let isback = false
      if (window.history.length <= 1) {
        isback = true
        this.$router.push({ path: '/' })
        return
      } else {
        isback = true
        this.$router.go(-1)
      }
      if (isback === false) {
        setTimeout(() => {
          this.$router.push({ path: '/' })
        }, 500)
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值