溫馨提示×

溫馨提示×

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

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

Vue中使用keep-alive緩存頁面詳解

發(fā)布時間:2020-05-26 06:47:43 來源:網(wǎng)絡 閱讀:420 作者:wx5a684dffd5e61 欄目:web開發(fā)

利用keep-alive 緩存需要緩存的頁面

在app.vue中改寫router-view

<keep-alive>
    <router-view>
        <!-- 這里是會被緩存的視圖組件,比如 page1,page2 -->
    </router-view>
</keep-alive>

在router/index.js中添加路由元信息,設置需要緩存的頁面

routes: [{
        path: '/',
        name: 'index',
        component: index,
        meta: {
            keepAlive: true, //此組件需要被緩存
        }
    },
    {
        path: '/page1',
        name: 'page1',
        component: page1,
        meta: {
            keepAlive: true, //此組件需要被緩存

        }
    },
    {
        path: '/page2',
        name: 'page2',
        component: page2,
        meta: {
            keepAlive: true, // 此組件需要被緩存

        }
    },
    {
        path: '/page3',
        name: 'page3',
        component: page3,
        meta: {
            keepAlive: true, // 此組件需要被緩存
        }
    }
]

鉤子函數(shù)的執(zhí)行順序

不使用keep-alive
beforeRouteEnter --> created --> mounted --> destroyed

使用keep-alive
beforeRouteEnter --> created --> mounted --> activated --> deactivated
再次進入緩存的頁面,只會觸發(fā)beforeRouteEnter -->activated --> deactivated 。created和mounted不會再執(zhí)行。我們可以利用不同的鉤子函數(shù),做不同的事。務必理解上述鉤子函數(shù)的執(zhí)行時機和執(zhí)行順序,本教程的核心就依賴于此鉤子函數(shù)
activated和deactivated是使用keep-alive后,vue中比較重要的兩個鉤子函數(shù),建議詳細了解下。

在組件中,主要是在activated鉤子函數(shù)中判斷是否使用緩存

activated() {
//使用緩存,直接跳過
if(不需要緩存,則執(zhí)行相應邏輯){

}

},

文末 分享一些技術學習視頻資料:https://pan.baidu.com/s/13dbR69NLIEyP1tQyRTl4xw

向AI問一下細節(jié)

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

AI