欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue3 setup語(yǔ)法糖下的定時(shí)器的使用與銷(xiāo)毀

 更新時(shí)間:2024年02月04日 11:13:35   作者:yggjdle  
如果在組件中需要使用定時(shí)器,注意在銷(xiāo)毀組件的時(shí)候,要對(duì)定時(shí)器進(jìn)行銷(xiāo)毀,否則時(shí)間長(zhǎng)了會(huì)導(dǎo)致頁(yè)面卡頓,這篇文章給大家介紹vue3 setup語(yǔ)法糖下的定時(shí)器的使用與銷(xiāo)毀的知識(shí),感興趣的朋友一起看看吧

vue3 setup語(yǔ)法糖下的定時(shí)器的使用與銷(xiāo)毀

如果在組件中需要使用定時(shí)器,注意在銷(xiāo)毀組件的時(shí)候,要對(duì)定時(shí)器進(jìn)行銷(xiāo)毀,否則時(shí)間長(zhǎng)了會(huì)導(dǎo)致頁(yè)面卡頓。

<script setup>
onMounted(() => {
  let timer = null;
//每5s刷新數(shù)據(jù)
  timer = setInterval(() => {
    getAmount();
  }, 5000);
})
onBeforeUnmount(() => {
  clearInterval(timer)
  timer = null;
})
</script>

補(bǔ)充:

Vue3 setup語(yǔ)法糖銷(xiāo)毀一個(gè)或多個(gè)定時(shí)器(setTimeout或setInterval)

背景

如果在頁(yè)面/組件增加了定時(shí)器,就算跳轉(zhuǎn)到其他頁(yè)面,定時(shí)器也不會(huì)被清理,這時(shí)候就需要手動(dòng)清理,不然會(huì)有意想不到的bug,也會(huì)影響性能。

提示

setTimeout是只執(zhí)行一次,setInterval是循環(huán)執(zhí)行,以下是用setTimeout舉例子,如果想要用setInterval,替換一次方法就行。

  • setTimeout替換成setInterval
  • clearTimeout替換成clearInterval

銷(xiāo)毀一個(gè)定時(shí)器

<script setup>
import {onMounted, onUnmounted} from "vue";
//注意哈,這里是個(gè)空
const timer = ref()
//先創(chuàng)建一個(gè)定時(shí)器
onMounted(() => {
  timer.value=setTimeout(() => {
    // do something
  }, 1500)
})
//在頁(yè)面銷(xiāo)毀之前先銷(xiāo)毀定時(shí)器
onUnmounted(() => {
  clearTimeout(timer.value)
  timer.value=""
})

銷(xiāo)毀多個(gè)定時(shí)器

<script setup>
import {onMounted, onUnmounted} from "vue";
//注意哈,是個(gè)數(shù)組,不是對(duì)象,當(dāng)然用對(duì)象的方式也行
const timer = ref([])
//先創(chuàng)建數(shù)個(gè)定時(shí)器
onMounted(() => {
  timer.value.push(setTimeout(() => {
    // do something
  }, 1500))
  timer.value.push(setTimeout(() => {
    // do something
  }, 1800))
})
//在頁(yè)面銷(xiāo)毀之前先銷(xiāo)毀定時(shí)器
onUnmounted(() => {
  for (const timerElement of timer.value) {
    clearTimeout(timerElement)
  }
  timer.value=[]
})

到此這篇關(guān)于vue3 setup語(yǔ)法糖下的定時(shí)器的使用與銷(xiāo)毀的文章就介紹到這了,更多相關(guān)vue3 setup語(yǔ)法糖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論