在beforeRouteLeave中清除定时器,清除有效果,但是再也不能触发定时器了

发布于 2022-09-12 01:59:01 字数 994 浏览 19 评论 0

问题描述

在beforeRouteLeave中清除定时器,清除有效果。因为在beforeDestory中写清除没用,我就在路由离开时写的。

问题出现的环境背景及自己尝试过哪些方法

1、尝过过在beforeRouteEnter中写定时器.结果会导致beforeRouteLeave中的清除没用

    beforeRouteEnter (to, from, next) {
      next(vm => {
         vm.connectTime = setInterval(()=>{
          setTimeout(vm.getConnectTime(),0)
        },2000)
      })
    },

2、尝过过在activated中写定时器。跟1一样的结果

    activated(){
      this.connectTime = setInterval(()=>{
       setTimeout(this.getConnectTime(),0)
      },2000)
    },

相关代码

    mounted(){
      this.connectTime = setInterval(()=>{
       setTimeout(this.getConnectTime(),0)
      },2000)
    },
    beforeRouteLeave (to, from, next) {
    // 导航离开该组件的对应路由时调用
    // 可以访问组件实例 `this`
      window.clearInterval(this.connectTime)
      next()
    }

你期待的结果是什么?实际看到的错误信息又是什么?

怎么做到离开清除,进来触发呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

就是爱搞怪 2022-09-19 01:59:01

试试这个 https://cn.vuejs.org/v2/guide...

你代码提供的信息太少了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文