<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • vue.js如何讓網(wǎng)頁定時刷新-創(chuàng)新互聯(lián)

            小編給大家分享一下vue.js如何讓網(wǎng)頁定時刷新,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

            成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供黃島企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為黃島眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。

            vue.js讓網(wǎng)頁定時刷新的方法:1、執(zhí)行函數(shù)【setTimeout(function(){}, milliseconds)】;2、在執(zhí)行定時器前先執(zhí)行一次獲取接口數(shù)據(jù)的操作函數(shù)。

            vue.js讓網(wǎng)頁定時刷新的方法:

            js有兩種定時器

            • setInterval(function(){}, milliseconds)——會不停的調(diào)用函數(shù)

            • setTimeout(function(){}, milliseconds)——只執(zhí)行函數(shù)一次

            乍看之下,setInterval會符合我們的業(yè)務(wù)需求,然而也需要注意一些坑,單純的使用setInterval會導(dǎo)致頁面卡死!其原因與JS引擎線程有關(guān), 用通俗話說就是setInterval不會清除定時器隊列,每重復(fù)執(zhí)行1次都會導(dǎo)致定時器疊加,最終卡死你的網(wǎng)頁。

            但是setTimeout是自帶清除定時器的,因此正確解決方法如下:

            data(){
              return {
                   timer:null, //定時器名稱
                }
            },
            mounted(){
               this.queryInfo();
               this.timer = setInterval(() => {
                   setTimeout(this.queryInfo, 0)
               }, 1000*60)
            },
            methods: {
               queryInfo(){
                //do something
               },
            },
            beforeDestroy(){
               clearInterval(this.timer);        
               this.timer = null;
            }

            說明: 1.在執(zhí)行定時器前先執(zhí)行一次獲取接口數(shù)據(jù)的操作函數(shù), 否則接口會1分鐘后才調(diào)用

            2.為了避免退出當前頁面后,在其他頁面也繼續(xù)調(diào)用接口,退出前需要清除定時器.

            清除定時器優(yōu)化方案

            上面的清除定時器方案有兩點不好:

            • 它需要在這個組件實例中保存這個 timer,如果可以的話好只有生命周期鉤子可以訪問到它。這并不算嚴重的問題,但是它可以被視為雜物。

            • 我們的建立代碼獨立于我們的清理代碼,這使得我們比較難于程序化的清理我們建立的所有東西

            優(yōu)化方案:

            通過$once這個事件偵聽器器在定義完定時器之后的位置來清除定時器.

            const timer = setInterval(() =>{                    
                // 某些定時器操作                
            }, 500);            
            // 通過$once來監(jiān)聽定時器,在beforeDestroy鉤子可以被清除。
            this.$once('hook:beforeDestroy', () => {            
                clearInterval(timer);                                    
            })

            看完了這篇文章,相信你對vue.js如何讓網(wǎng)頁定時刷新有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

            文章題目:vue.js如何讓網(wǎng)頁定時刷新-創(chuàng)新互聯(lián)
            標題網(wǎng)址:http://www.jbt999.com/article40/ccgdho.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、面包屑導(dǎo)航營銷型網(wǎng)站建設(shè)、建站公司、App設(shè)計、靜態(tài)網(wǎng)站

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            成都做網(wǎng)站

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 亚洲性爱视频在线观看 | 国产老熟女av | 操丝袜熟女骚逼 | 大鸡吧视频在线观看 | 国产精品视频免费 |