zoukankan      html  css  js  c++  java
  • vue 定时器销毁的问题

    今天的定时器跟以往的不一样

    我这里吧定时器包裹在一个方法里然后在beforeDestory里销毁我这么写的

    1 beforeDestroy(){
    2     
    3     clearInterval(this.trainTimer)
    4   }

    但是离开页面依旧在,因为trainRotation这个方法不清楚 会被其他地方一直调用,所以得清除这个方法才行。

    我看了下$destory()来搞,但是发现也没用,不知道怎么用,看到网上有一种清除定时器的方法是使用$once()来做的,

    trainRotation(){     
          let trainTimer = setInterval(this.setIntervalue, 2000);
          this.$once('hook:beforeDestroy', () => {            
              clearInterval(trainTimer);  
              trainTimer=null;                                  
          })
        },

    this.$once这个方法就监听一次,会自动的在离开页面之前就清除掉定时器,试试效果,真的不错,网上的第一种方法我之前用的,发现根本不适合我这情景,有更好的方法求指教,万分感谢

  • 相关阅读:
    Vue小实例
    Bootstrap进度条
    Bootstrap导航栏
    Bootstrap表单
    java date类
    正则表达式(java)规则大全
    正则表达式(java)
    java Stringbuffer类
    java String类
    object类
  • 原文地址:https://www.cnblogs.com/pfybk/p/14894570.html
Copyright © 2011-2022 走看看