美文网首页
Vue中使用定时器setInterval和setTimeout

Vue中使用定时器setInterval和setTimeout

作者: i_木木木木木 | 来源:发表于2019-06-27 12:28 被阅读0次

    js中定时器有两种,一个是循环执行setInterval,另一个是定时执行setTimeout

    一、循环执行(setInterval

    顾名思义,循环执行就是设置一个时间间隔,每过一段时间都会执行一次这个方法,直到这个定时器被销毁掉

    用法是setInterval(“方法名或方法”,“延时”), 第一个参数为方法名或者方法,注意为方法名的时候不要加括号,第二个参数为时间间隔

    
    <template style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: &quot;Courier New&quot; !important; font-size: 12px !important;">
      <section>
        <h1>hello world~</h1>
      </section>
    </template>
    <script> 
    export default {
        data() { return {
            timer: '',
            value: 0 };
        },
        methods: {
          get() { 
            this.value ++;
            console.log(this.value);
          }
        },
        mounted() { 
          this.timer = setInterval(this.get, 1000);
        },
        beforeDestroy() {
          clearInterval(this.timer);
        }
      };
     </script>
    
    
    image

    上面的例子就是页面初始化的时候创建了一个定时器setInterval,时间间隔为1秒,每一秒都会调用一次函数get,从而使value的值加一。

    二、定时执行 (setTimeout

    定时执行setTimeout是设置一个时间,等待时间到达的时候只执行一次,但是执行完以后定时器还在,只是没有运行

    用法是setTimeout(“方法名或方法”, “延时”); 第一个参数为方法名或者方法,注意为方法名的时候不要加括号,第二个参数为时间间隔

    <template style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: &quot;Courier New&quot; !important; font-size: 12px !important;">
      <section>
        <h1>hello world~</h1>
      </section>
    </template>
    <script> 
    export default {
        data() { return {
            timer: '',
            value: 0 };
        },
        methods: {
          get() {
            this.value ++;
            console.log(this.value);
          }
        },
        mounted() { 
          this.timer = setTimeout(this.get, 1000);
        },
        beforeDestroy() {
          clearTimeout(this.timer);
        }
      }; 
    </script>
    
    
    image

    上面是页面初始化时候创建一个定时器setTimeout,只在1秒后执行一次方法。

    清除定时器:clearInterval(定时器名称) ; clearTimeout(定时器名称)

    来源:https://www.cnblogs.com/jin-zhe/p/10001236.html

    相关文章

      网友评论

          本文标题:Vue中使用定时器setInterval和setTimeout

          本文链接:https://www.haomeiwen.com/subject/riglcctx.html