怎么在vue中實(shí)現(xiàn)一個(gè)keep-alive緩存功能

本篇文章為大家展示了怎么在vue中實(shí)現(xiàn)一個(gè)keep-alive緩存功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián):自2013年起為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為超過千家公司企業(yè)提供了專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站推廣服務(wù), 定制開發(fā)由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競(jìng)爭(zhēng)對(duì)手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。

<keep-alive>是Vue的內(nèi)置組件,能在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM。

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

prop:

  • include: 字符串或正則表達(dá)式。只有匹配的組件會(huì)被緩存。

  • exclude: 字符串或正則表達(dá)式。任何匹配的組件都不會(huì)被緩存。

Vue 實(shí)現(xiàn)組件信息的緩存

當(dāng)我們?cè)陂_發(fā)vue的項(xiàng)目過程中,避免不了在路由切換到其他的component再返回后該組件數(shù)據(jù)會(huì)重新加載,處理這種情況我們就需要用到keep-alive來(lái)緩存vue的組件信息,使其不再重新加載。

一、在app.vue里

<keep-alive>
 <router-view></router-view>
</keep-alive>

但是這種情況會(huì)對(duì)所有的組件進(jìn)行緩存,不能達(dá)到單個(gè)組件緩存的效果。

那么我們給部分組件加上,實(shí)現(xiàn)方法如下:

在app.vue

<!--這里是需要keepalive的-->
<keep-alive>
 <router-view v-if="$route.meta.keepAlive"></router-view>
<keep-alive>
 
<!-- 這里不會(huì)被keepAlive -->
 
<router-view v-if="!$route.meta.keepAlive"></router-view>

二、 在路由的index.js頁(yè)面里

{
 path: '',
 name: '',
 component: '',
 meta: {keepAlive: true}  // 這個(gè)是需要keepalive的
},
{
 path: '',
 name: '',
 component: ,
 meta: {keepAlive: false} // 這是不會(huì)被keepalive的
}

這就實(shí)現(xiàn)了部分組件的緩存功能

如果緩存的組件想要清空數(shù)據(jù)或者執(zhí)行初始化方法,在加載組件的時(shí)候調(diào)用activated鉤子函數(shù),如下:

activated: function () {
 this.data = ‘'
}

上述內(nèi)容就是怎么在vue中實(shí)現(xiàn)一個(gè)keep-alive緩存功能,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)標(biāo)題:怎么在vue中實(shí)現(xiàn)一個(gè)keep-alive緩存功能
網(wǎng)站地址:http://muchs.cn/article34/iegise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、電子商務(wù)定制開發(fā)、云服務(wù)器、網(wǎng)站排名、微信小程序

廣告

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

成都網(wǎng)站建設(shè)公司