vue2.0 keep-alive最佳實(shí)踐
vue2.0 keep-alive的最佳實(shí)踐,供大家參考,具體內(nèi)容如下
1.基本用法
vue2.0提供了一個(gè)keep-alive組件用來(lái)緩存組件,避免多次加載相應(yīng)的組件,減少性能消耗
<keep-alive> <component> <!-- 組件將被緩存 --> </component> </keep-alive>
有時(shí)候 可能需要緩存整個(gè)站點(diǎn)的所有頁(yè)面,而頁(yè)面一般一進(jìn)去都要觸發(fā)請(qǐng)求的
在使用keep-alive的情況下
<keep-alive><router-view></router-view></keep-alive>
將首次觸發(fā)請(qǐng)求寫(xiě)在created鉤子函數(shù)中,就能實(shí)現(xiàn)緩存,
比如列表頁(yè),去了詳情頁(yè) 回來(lái),還是在原來(lái)的頁(yè)面
2.緩存部分頁(yè)面或者組件
(1)使用router. meta屬性
// 這是目前用的比較多的方式 <keep-alive> <router-view v-if="!$route.meta.notKeepAlive"></router-view> </keep-alive> <router-view v-if="$route.meta.notKeepAlive"></router-view>
router設(shè)置
... routes: [ { path: '/', redirect: '/index', component: Index, meta: { keepAlive: true }}, { path: '/common', component: TestParent, children: [ { path: '/test2', component: Test2, meta: { keepAlive: true } } ] } .... // 表示index和test2都使用keep-alive
(2).使用新增屬性inlcude/exclude
2.1.0后提供了include/exclude兩個(gè)屬性 可以針對(duì)性緩存相應(yīng)的組件
<!-- comma-delimited string --> <keep-alive include="a,b"> <component :is="view"></component> </keep-alive> <!-- regex (use v-bind) --> <keep-alive :include="/a|b/"> <component :is="view"></component> </keep-alive> //其中a,b是組件的name
注意:這種方法都是預(yù)先知道組件的名稱的
(3)動(dòng)態(tài)判斷
<keep-alive :include="includedComponents"> <router-view></router-view> </keep-alive>
includedComponents動(dòng)態(tài)設(shè)置即可
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 解決vue單頁(yè)使用keep-alive頁(yè)面返回不刷新的問(wèn)題
- vue2中的keep-alive使用總結(jié)及注意事項(xiàng)
- vue項(xiàng)目?jī)?yōu)化之通過(guò)keep-alive數(shù)據(jù)緩存的方法
- vue使用keep-alive實(shí)現(xiàn)數(shù)據(jù)緩存不刷新
- Vue keep-alive實(shí)踐總結(jié)(推薦)
- 深入理解vue-router之keep-alive
- 詳解Vue路由開(kāi)啟keep-alive時(shí)的注意點(diǎn)
- vue 的keep-alive緩存功能的實(shí)現(xiàn)
相關(guān)文章
Vue echarts 實(shí)現(xiàn)離線中國(guó)地圖的示例代碼(細(xì)化到省份)
這篇文章主要介紹了Vue echarts 實(shí)現(xiàn)離線中國(guó)地圖,細(xì)化到省份,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09Vue使用Clipboard.JS在h5頁(yè)面中復(fù)制內(nèi)容實(shí)例詳解
在本篇文章里小編給大家整理了關(guān)于Vue使用Clipboard.JS在h5頁(yè)面中復(fù)制內(nèi)容以及相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2019-09-09Vue點(diǎn)擊在彈窗外部實(shí)現(xiàn)一鍵關(guān)閉的示例代碼
在Vue應(yīng)用中,彈窗是一個(gè)常見(jiàn)的交互元素,有時(shí)我們可能希望用戶點(diǎn)擊彈窗外部時(shí),彈窗能夠自動(dòng)關(guān)閉,本文主要介紹了Vue點(diǎn)擊在彈窗外部實(shí)現(xiàn)一鍵關(guān)閉的示例代碼,感興趣的可以了解一下2024-06-06Vue+Flask實(shí)現(xiàn)簡(jiǎn)單的登錄驗(yàn)證跳轉(zhuǎn)的示例代碼
本篇文章主要介紹了Vue+Flask實(shí)現(xiàn)簡(jiǎn)單的登錄驗(yàn)證跳轉(zhuǎn)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01vue自定義一個(gè)v-model的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue自定義一個(gè)v-model的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06