日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Vue 內(nèi)置組件keep-alive的使用示例

瀏覽:39日期:2022-09-30 17:15:49

keep-alive 是Vue內(nèi)置的組件之一, 主要用于保留組件狀態(tài)或避免重新渲染。

作用

   在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM,減少加載時間及性能消耗,提高用戶體驗。

一、keep-alive 用法

< keep-alive> 包裹動態(tài)組件時,會緩存不活動的組件實例,而不是銷毀它們。和 < transition> 相似,< keep-alive> 是一個抽象組件:它自身不會渲染一個 DOM 元素,也不會出現(xiàn)在組件的父組件鏈中。

當(dāng)組件在 < keep-alive> 內(nèi)被切換,它的 activated 和 deactivated 這兩個生命周期鉤子函數(shù)將會被對應(yīng)執(zhí)行。

Props:

include - 字符串或正則表達(dá)式。只有名稱匹配的組件會被緩存。 exclude - 字符串或正則表達(dá)式。任何名稱匹配的組件都不會被緩存。 max - 數(shù)字。最多可以緩存多少組件實例。

include & exclude

如果你只想緩存部分組件的狀態(tài),可以使用include屬性。

如果你想除掉一些組件,其他的才被緩存,可以使用exlucde屬性。

max

最多可以緩存多少組件實例。一旦這個數(shù)字達(dá)到了,在新實例被創(chuàng)建之前,已緩存組件中最久沒有被訪問的實例會被銷毀掉。

<keep-alive :max='10'> <component :is='view'></component></keep-alive>使用示例:1.緩存所有頁面:

<keep-alive> <router-view></router-view> <!--這里是會被緩存的組件--></keep-alive>2.根據(jù)條件緩存部分頁面

(更多用法見官網(wǎng)API)

<template> <div id='app'> // 1. 將緩存 name 為 newsList 或者 productList 的組件 <keep-alive include=’newsList,productList’> <router-view/> </keep-alive>// 2. 將不緩存 name 為 test 的組件<keep-alive exclude=’test’> <router-view/></keep-alive> </div></template><script>export default { name: ’App’}</script>

注意:

還有一步,你必須在需要被緩存狀態(tài)的組件的script部分,給組件添加一個name屬性。 如果沒有使用keep-alive緩存狀態(tài)的組件,可以不寫name屬性。但是如果使用了keep-alive緩存該組件狀態(tài),則此組件必須有這個屬性。并且,這個屬性的值,還必須跟標(biāo)簽中include屬性的值完全一致,包括大小寫。 以productList.vue組件為例 

<template> <!-- 這里是productList組件的html結(jié)構(gòu)部分 --></template><script>export default { name: 'productList', //如果使用了keep-alive緩存該組件狀態(tài),則此組件必須有這個屬性。 data(){return {} }</script>3.結(jié)合vue-router,緩存部分頁面

export default new Router({ mode: ’history’, routes: [ { path: ’/’, name: ’home’, component: Home, children: [{ path: ’products’, name: ’products’, component: products, meta: {keepAlive: true // 需要緩存}},{ path: ’newsDetails’, name: ’newsDetails’, component: newsDetails, meta: {keepAlive: false // 不需要緩存}} ] } ]})

在 App.vue 里面

<template> <div id='app'> <keep-alive> <router-view v-if='$route.meta.keepAlive'></router-view> </keep-alive> <router-view v-if='!$route.meta.keepAlive'></router-view> </div></template><script>export default { name: ’App’}</script>二、keep-alive 生命周期

包含在 keep-alive 中創(chuàng)建的組件,會多出兩個生命周期的鉤子: activated 與 deactivated。

1. activated

      在 keep-alive 組件激活時調(diào)用。

在組件第一次渲染時會被調(diào)用,之后在每次緩存組件被激活時調(diào)用。

第一次進(jìn)入緩存路由/組件,在mounted后面,beforeRouteEnter守衛(wèi)傳給 next 的回調(diào)函數(shù)之前調(diào)用:

頁面第一次進(jìn)入的時候,鉤子觸發(fā)的順序是created->mounted->activated

因為組件被緩存了,再次進(jìn)入緩存路由/組件時,不會觸發(fā)這些鉤子:

beforeCreate created beforeMount mounted 都不會觸發(fā)。

2. deactivated

      在 keep-alive 組件停用(離開路由)時調(diào)用。       

使用了keep-alive就不會調(diào)用beforeDestroy(組件銷毀前鉤子)和destroyed(組件銷毀),因為組件沒被銷毀,被緩存起來了。

這個鉤子可以看作beforeDestroy的替代,如果你緩存了組件,要在組件銷毀的的時候做一些事情,你可以放在這個鉤子里。

  注意:

1、 使用 keep-alive 會將數(shù)據(jù)保留在內(nèi)存中,如果要在每次進(jìn)入頁面的時候獲取最新的數(shù)據(jù),需要在 activated 階段獲取數(shù)據(jù),承擔(dān)原來created鉤子函數(shù)中獲取數(shù)據(jù)的任務(wù)。

2、只有組件被 keep-alive 包裹時,這兩個生命周期函數(shù)才會被調(diào)用,如果作為正常組件使用,是不會被調(diào)用的,以及在 2.1.0 版本之后,使用 exclude 排除之后,就算被包裹在 keep-alive 中,這兩個鉤子函數(shù)依然不會被調(diào)用!

3、以上這兩個鉤子函數(shù)在服務(wù)器端渲染期間不被調(diào)用。

參考官方文檔:cn.vuejs.org/v2/api/#kee…

以上就是Vue 內(nèi)置組件keep-alive的使用示例的詳細(xì)內(nèi)容,更多關(guān)于Vue 內(nèi)置組件keep-alive的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区二区三区免费播放| 伊人www22综合色| 亚洲精选av| 在线精品国产亚洲| 香蕉久久久久久| 国产探花在线精品| 精品一区不卡| 亚洲黄色网址| 欧美成人精品午夜一区二区| 亚州国产精品| 国产日韩一区| 麻豆成全视频免费观看在线看| 久久天堂av| 亚洲一区二区三区四区五区午夜 | 久久久久97| 精品视频网站| 97精品中文字幕| 尤物在线精品| 国产欧美丝祙| 91精品蜜臀一区二区三区在线| 五月天激情综合网| 久久亚洲欧洲| 麻豆国产欧美日韩综合精品二区| 国产一区二区三区四区二区| 日韩精品国产精品| 日韩中文字幕av电影| 午夜日韩在线| 日韩精品亚洲专区| 成午夜精品一区二区三区软件| 97精品视频在线看| 视频一区在线播放| 精品三级av在线导航| 色在线视频观看| 蜜桃久久久久久久| 精品中文在线| 激情欧美国产欧美| 国产日韩综合| 国产精品羞羞答答在线观看| 激情黄产视频在线免费观看| 精品91久久久久| 另类综合日韩欧美亚洲| 午夜欧美视频| 国产色播av在线| 国产亚洲久久| 狠狠色狠狠色综合日日tαg| 国产精品极品在线观看| 亚洲黄色中文字幕| 欧美日韩一区二区国产| 蜜桃成人av| 精品入口麻豆88视频| 日韩精品一级中文字幕精品视频免费观看 | 蜜臀久久99精品久久一区二区 | 日韩国产欧美三级| 国产视频欧美| 蜜臀国产一区| 日本午夜精品久久久久| 五月婷婷六月综合| 中文字幕高清在线播放| 国产精品久久久久久久久久齐齐| 久久国产高清| 999久久久精品国产| 国产精品多人| 欧美一级二级三级视频| 亚洲视频播放| 国产美女一区| 国产一二在线播放| 国产欧美日韩在线一区二区| 在线国产精品一区| 欧美日韩一区二区三区在线电影| 久久久久免费av| 毛片在线网站| 韩国精品主播一区二区在线观看| 麻豆精品99| 精品五月天堂| 激情久久一区二区| 奇米777国产一区国产二区| 欧美在线综合| 亚洲精品欧洲| 国产精品二区影院| 在线看片福利| 精品一区免费| 中文一区二区| 日韩精选在线| 麻豆精品在线视频| 日韩久久一区二区三区| 日韩中文在线播放| 欧美日韩国产传媒| 夜久久久久久| 青草国产精品| 精品资源在线| 亚洲免费成人| 欧美日韩1区| 久久久精品久久久久久96 | 青青草精品视频| 精品国产黄a∨片高清在线| 国产精品一区二区三区av| 欧美一区=区三区| 深夜视频一区二区| 日本v片在线高清不卡在线观看| 国产精品成人自拍| 久久天堂成人| 日韩一区二区三区在线看| 免费一级欧美在线观看视频 | 欧美有码在线| 欧美性www| 99成人超碰| 麻豆精品视频在线观看免费| 黄色欧美在线| 亚洲一区二区三区免费在线观看 | 国产一区二区三区国产精品| 99热精品在线观看| 国产不卡av一区二区| 国产综合精品一区| 国产欧美日韩精品一区二区免费| 欧美日韩在线二区| 粉嫩av一区二区三区四区五区| 亚洲三级视频| 偷拍精品精品一区二区三区| 日韩不卡在线观看日韩不卡视频 | 免费在线观看一区| 综合亚洲色图| 久久人人97超碰国产公开结果| 久久国产人妖系列| 亚洲综合小说| 亚洲女同一区| 成人在线网站| 日韩免费在线| 五月天av在线| 成人午夜精品| 日本少妇一区| 精品久久一区| 精品视频国内| 日韩精品影视| 日本精品不卡| 亚洲精品网址| 国产亚洲综合精品| 日韩精品午夜视频| 国产亚洲一区二区三区啪| 国产日产精品一区二区三区四区的观看方式 | 亚洲精品综合| 免费人成网站在线观看欧美高清| 欧美日韩水蜜桃| 亚洲精品九九| 不卡av一区二区| 国产91欧美| 精品国产亚洲一区二区三区在线| 亚洲色图综合| 亚洲影院天堂中文av色| 另类亚洲自拍| 麻豆精品91| 蜜桃视频免费观看一区| 午夜精品一区二区三区国产| 午夜精品久久久久久久久久蜜桃| 欧美天堂视频| 九九九精品视频| 91一区二区| a国产在线视频| 韩国久久久久久| 99精品在线观看| 日韩午夜黄色| 日韩av中文在线观看| 国产精品久久久久久妇女| 麻豆中文一区二区| 桃色一区二区| 鲁大师成人一区二区三区| 日韩精品免费一区二区夜夜嗨| 夜夜精品视频| 日本va欧美va精品发布| 国产精品天堂蜜av在线播放| 国产美女亚洲精品7777| 精品久久福利| 亚洲va中文在线播放免费| 国产一区一一区高清不卡| 午夜精品久久久久久久久久蜜桃| 国产视频一区三区| 日韩精选在线| 91看片一区| 国产女人18毛片水真多18精品| 日本麻豆一区二区三区视频| 中文字幕一区二区三区日韩精品| 久久国产日韩欧美精品| 欧美一区久久久| 中文一区一区三区免费在线观 | 国产精品一区毛片| 日韩免费在线| 日韩avvvv在线播放| 日韩精品永久网址| 91精品一区二区三区综合| 日韩有码av| 亚洲国内欧美| 日韩不卡手机在线v区| 影视先锋久久| 久久精品99国产精品| 国语对白精品一区二区| 久久成人国产| 欧美日韩免费观看一区=区三区 | 麻豆中文一区二区| 亚洲免费福利一区| 久久久五月天| av中文资源在线资源免费观看|