中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue怎么設置定時器和清理定時器

發布時間:2022-05-30 10:26:18 來源:億速云 閱讀:313 作者:iii 欄目:開發技術

本篇內容介紹了“vue怎么設置定時器和清理定時器”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

設置定時器和清理定時器

使用鉤子函數對定時器進行清理,失敗了

1.在data中聲明要設置的定時器名稱

data() {            
    return {                              
        timer: null  // 定時器名稱          
    }        
},

2.在mounted中創建定時器

this.timer = (() => {
    // 某些操作
}, 5000)3、在頁面注銷時清理定時器:beforeDestroy() {
    clearInterval(this.timer);        
    this.timer = null;
}

然鵝,并沒什么卵用,在切換頁面后,定時任務依然頑強的奔跑著。

beforeDestroy() {
    clearInterval(this.timer);        
    this.timer = null;
    console.log(this.timer)            //輸出為: null,但是任務依然在繼續運行
}

可能是我的姿勢不對吧。害羞.jpg經過在各大論壇一番查找發現:通過$once這個事件偵聽器在定義完定時器之后的位置來清除定時器:

const timer = setInterval(() =>{                    
    // 某些定時器操作                
}, 5000);            
// 通過$once來監聽定時器
// 在beforeDestroy鉤子觸發時清除定時器
this.$once('hook:beforeDestroy', () => {            
    clearInterval(timer);                                    
})

哇,成功了...

定時器的使用全解

1.vue使用定時器

在vue中使用定時器,很多情況下,進入和退出vue界面,都沒有清除定時器,從而導致有很多定時器一起工作,這樣肯定是不行的,接下來就使用當用戶進入界面時啟用定時器,當用戶離開當前界面時就清除定時器。

2代碼實現

<template>
</template>
<script>
    import store from '@/store'
    import Vue from 'vue'
    export default {
        name: "test",
        data () {
            return {
                timer: null
            }
        },
        methods: {
            setTimer() {
                if(this.timer == null) {
                    this.timer = setInterval( () => {
                        console.log('開始定時...每過一秒執行一次')
                    }, 1000)
                }
            }
        },
        created: function() {
            this.getFamilyBase_info()
            // 每次進入界面時,先清除之前的所有定時器,然后啟動新的定時器
            clearInterval(this.timer)
            this.timer = null
            this.setTimer()
        },
        destroyed: function () {
            // 每次離開當前界面時,清除定時器
            clearInterval(this.timer)
            this.timer = null
        }
    }
</script>
<style scoped>
</style>

“vue怎么設置定時器和清理定時器”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

栾川县| 湘潭县| 蕉岭县| 洛浦县| 琼结县| 罗源县| 定日县| 竹山县| 新疆| 柏乡县| 阳西县| 东乡| 敦化市| 察隅县| 固原市| 乾安县| 苍山县| 六枝特区| 濉溪县| 全州县| 江孜县| 丹寨县| 犍为县| 郁南县| 连平县| 姚安县| 双峰县| 宿迁市| 滦平县| 云南省| 沂水县| 格尔木市| 洪雅县| 鄂尔多斯市| 象山县| 维西| 滨州市| 昭苏县| 卢湾区| 林甸县| 岐山县|