VUE中定时器的使用setInterval和setTimeout

3 篇文章 0 订阅

js中定时器有两种,

一个是循环执行setInterval,另一个是定时执行setTimeout

 

1:setInterval  循环执行,   每隔一段时间执行一次, 多次执行。 

2:setTimeout 到时间后执行, 只执行一次。

 

 

一、循环执行(setInterval)

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

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

 

<template>
  <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>

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

 

 

二、定时执行 (setTimeout)

 

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

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

 

<template>
  <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>

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

定时器需要在页面销毁的时候清除掉,不然会一直存在!!!

 

上面的内容转自https://www.cnblogs.com/jin-zhe/p/10001236.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js,你可以使用`setInterval`和`setTimeout`函数来执行定时任务。这两个函数允许你在指定的时间间隔或延迟后执行特定的代码。 1. `setInterval`函数用于创建一个定时重复执行的任务。它接受两个参数:要执行的函数和时间间隔(以毫秒为单位)。 ```javascript // 示例:每隔1秒输出一次日志 let intervalId = setInterval(() => { console.log("定时任务执行"); }, 1000); ``` 在Vue.js,通常将`setInterval`函数与生命周期钩子函数一起使用,以便在组件挂载后开始定时任务,并在组件销毁前清除定时器。 ```javascript export default { data() { return { intervalId: null }; }, mounted() { this.intervalId = setInterval(() => { console.log("定时任务执行"); }, 1000); }, beforeDestroy() { clearInterval(this.intervalId); } }; ``` 2. `setTimeout`函数用于创建一个只执行一次的延迟任务。它接受两个参数:要执行的函数和延迟时间(以毫秒为单位)。 ```javascript // 示例:延迟2秒后输出一次日志 setTimeout(() => { console.log("延迟任务执行"); }, 2000); ``` 同样,在Vue.js,可以将`setTimeout`函数与生命周期钩子函数一起使用,以在组件挂载后执行一次延迟任务。 ```javascript export default { mounted() { setTimeout(() => { console.log("延迟任务执行"); }, 2000); } }; ``` 请注意,在使用`setInterval`和`setTimeout`时,确保在适当的时候清除定时器,以避免内存泄漏和不必要的性能开销。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值