在開發的程序中如果碰到經常瀏覽需要快取的頁面,而且頁面很長需要記錄滾動的位置這時就需要用到keepAlive,
一共有三個步驟
1、首先在路由中的mate屬性中記錄keepAlive,如果需要快取則置為true,
path:'/index',
name:''index',
component:()=>import('../../index/index'),
meta:{keepAlive:true}
2、在創建router實體的時候加上scrollBehavior方法(keepAlive才會生效),
let router=new Router({
mode:"hash",//1、hash哈希:有#號,2、history歷史:沒有#號
base:process.env.BASE_URL, //自動獲取根目錄路徑
scrollBehavior:(to,from,position)=>{
if(position){
return position
}else{
return {x:0,y:0}
}
},
3、需要快取的router-view包上keep-alive(要有兩個router-view,一個是快取的時候顯示,一個是不快取的時候顯示,有的時候不需要快取),
<keep-alive>
<router-view v-if="$router.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$router.meta.keepAlive"></router-view>
注意
在keep-alive中的組件會有兩個生命周期的鉤子函式,activated和deactivated,其中activated是在組件第一次渲染時會被呼叫,而且之后每次快取組件被激活都會被呼叫,所以一般使用時需要里面的代碼和created函式中的代碼一樣即可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/254457.html
標籤:區塊鏈
下一篇:公鑰密碼的三大數學問題
