詳解Vue中keep-alive的使用
前言
keep-alive 是 Vue 的內(nèi)置組件,當(dāng)它包裹動態(tài)組件時,會緩存不活動的組件實例,而不是銷毀它們。例如:在開發(fā)中經(jīng)常有從列表跳到詳情頁,然后返回詳情頁的時候需要緩存列表頁的狀態(tài)(比如滾動位置信息),這個時候就需要保存狀態(tài),要緩存狀態(tài)。在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM,減少加載時間及性能消耗,提高用戶體驗性。使用方式為
<keep-alive> ? ? <component /> </keep-alive>
這里的component會被緩存。
1、概念:
keep-alive是Vue的內(nèi)置組件,當(dāng)它包裹動態(tài)組件時,會緩存不活動的組件實例,而不是銷毀。
2、作用:
用來緩存組件,避免多次加載相同的組件,減少性能消耗,提高用戶體驗。
3、使用方式:
方式一:在App.vue中使用keep-alive標(biāo)簽,表示緩存所有頁面
<div id="app">
<keep-alive>
<tar-bar></tar-bar>
<div class="container">
<left-menu></left-menu>
<Main />
</div>
</keep-alive>
</div>方式二:按條件緩存,使用include,exclude判斷是否緩存
// 1. 將緩存 name 為 cc 的組件,如果有多個,可用逗號分
<keep-alive include='cc'>
<router-view/>
</keep-alive>
// 2. 將不緩存 name 為 cc 的組件
<keep-alive exclude='cc'>
<router-view/>
</keep-alive>
// 3. 還可使用屬性綁定動態(tài)判斷
<keep-alive :include='includedComs'>
<router-view/>
</keep-alive>方式三:在router目錄下的index.js中,
第一步:使用meta:{keepAlive = true },表示需要緩存
const routes = [
{
path:'/',
component:Home,
meta:{
keepalive:true
}
},
{
path:'/login',
component:Login
},
{
path:'/edit',
component:Edit,
meta:{
istoken: true
}
},
{
path:'/home',
component:Home,
meta:{
keepalive:true
}
}
]- 第二步:在App.vue中進(jìn)行判斷
<div id="app">
<!--keep-alive 表示頁面不會被銷毀,即保持頁面狀態(tài)-->
<keep-alive>
<router-view v-if="$route.meta.keepalive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepalive"></router-view>
</div>到此這篇關(guān)于詳解Vue中keep-alive的使用的文章就介紹到這了,更多相關(guān)Vue keep-alive使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
純前端使用Vue3上傳文件到minio文件服務(wù)器(粘貼可直接用)
vue是目前最流行的前端框架,下面這篇文章主要給大家介紹了關(guān)于純前端使用Vue3上傳文件到minio文件服務(wù)器的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04

