日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue单页面html缓存问题,vue单页面 回退页面 keeplive 缓存问题

發布時間:2023/12/10 vue 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue单页面html缓存问题,vue单页面 回退页面 keeplive 缓存问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:項目中遇到 vue 點擊回退 從A頁跳到B頁,緩存A頁,當B頁狀態修改再次返回A時,A頁查詢條件緩存不刷新,列表刷新

A頁:

B頁:

html

解決方法:

利用keep-alive 緩存須要緩存的頁面

1.在app.vue中改寫router-viewvue

2.在router/index.js中添加路由元信息,設置須要緩存的頁面

keepAlive:設置須要緩存的頁面

isBack:經過beforeRouteEnter這個鉤子函數中的from參數判斷是從哪一個頁面過來的,這個參數執行時,組件實例還沒建立,不能在data中定義變量。因此咱們能夠在路由中定義一個變量isBack,用來判斷。webpack

{

path: '/trade',

name: 'trade',

component: () => import( /* webpackChunkName: "about" */ '@/views/trade.vue'),

meta: {

title:'trade.tradeTitle',

keepAlive: true, // 此組件須要被緩存

isBack:false, //用于判斷上一個頁面是哪一個

}

},

{

path: '/detail/:id',

name: 'detail',

component: () => import( /* webpackChunkName: "about" */ '@/views/detail.vue'),

meta: {

title:'trade.detailTitle',

keepAlive: false,

isBack:false,//用于判斷上一個頁面是哪一個

}

},

鉤子函數的執行順序:

不使用keep-alive

beforeRouteEnter --> created --> mounted --> destroyed

使用keep-alive

beforeRouteEnter --> created --> mounted --> activated --> deactivated

再次進入緩存的頁面,只會觸發beforeRouteEnter -->activated --> deactivated 。created和mounted不會再執行。咱們能夠利用不一樣的鉤子函數,作不一樣的事。務必理解上述鉤子函數的執行時機和執行順序,本教程的核心就依賴于此鉤子函數

activated和deactivated是使用keep-alive后,vue中比較重要的兩個鉤子函數,建議詳細了解下。web

在A頁面中經過beforeRouteEnter這個鉤子函數中判斷是從哪一個頁面過來的

beforeRouteLeave(to, from, next) {

// 路由導航鉤子,此時還不能獲取組件實例 `this`,因此沒法在data中定義變量(利用vm除外)

// 參考 https://router.vuejs.org/zh-cn/advanced/navigation-guards.html

// 因此,利用路由元信息中的meta字段設置變量,方便在各個位置獲取。這就是為何在meta中定義isBack

// 參考 https://router.vuejs.org/zh-cn/advanced/meta.html

if (from.path === '/detail'){

//判斷是從哪一個路由過來的,

//若是是B頁面即detail頁面過來的,代表當前頁面不須要刷新獲取新數據,直接用以前緩存的數據便可

to.meta.isBack = true;

}else{

to.meta.isBack = false;

}

next();

},

data中定義變量isFirstEnter用來判斷是否第一次進入,或是否刷新了頁面,默認false

data() {

return {

isFirstEnter:false,

};

},

created中把isFirstEnter變為true,說明是第一次進入或刷新了頁面

created() {

this.isFirstEnter=true;

// 只有第一次進入或者刷新頁面后才會執行此鉤子函數

// 使用keep-alive后(2+次)進入不會再執行此鉤子函數

this.$nextTick(() => {

this.getLists();

});

},

activated中增長判斷條件

activated() {

if(this.$route.meta.isBack || !this.isFirstEnter){

// 若是isBack是false,代表須要獲取新數據,不然就再也不請求,直接使用緩存的數據

// 若是isFirstEnter是true,代表是第一次進入此頁面或用戶刷新了頁面,需獲取新數據

this.tradeList=[]

this.AjaxList = [] //把數據清空,能夠稍微避免讓用戶看到以前緩存的數據

this.pageNum = 1;

this.$nextTick(() => {

this.getLists();

});

}else{

this.$route.meta.isBack=false

this.isFirstEnter=false;

}

},

總結

以上是生活随笔為你收集整理的vue单页面html缓存问题,vue单页面 回退页面 keeplive 缓存问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91尤物视频 | 久久久高潮 | 国产成人激情 | 国产曰肥老太婆无遮挡 | 老司机深夜福利在线观看 | 夜夜嗨老熟女av一区二区三区 | 99色播 | 日韩精品一区二区不卡 | 亚洲射色 | 青青在线 | 最好看的日本字幕mv视频大全 | 国产精品美女久久久 | 真人毛片97级无遮挡精品 | 第一av在线 | 小向美奈子在线观看 | 亚洲综合五月天婷婷丁香 | 二区三区 | 日本久久高清 | 国产日韩专区 | 调教奶奴 | 国产一区二区三区四区五区六区 | 欧美色图首页 | 台湾佬美性中文娱乐 | 一卡二卡三卡四卡 | 91黑人精品一区二区三区 | 波多野结衣一二三区 | 久久爱综合网 | 可以看的av网址 | 亚洲色图21p| 三上悠亚在线观看一区二区 | 精品国产999久久久免费 | 亚洲视频一区二区 | 蜜臀久久99精品久久久画质超高清 | 亚洲一区国产精品 | 99久久精品一区 | 午夜视频成人 | 久久电影一区 | 精品成人无码久久久久久 | 国产农村妇女精品一二区 | 亚洲av永久无码国产精品久久 | 精品国产乱码一区二区三 | 国产香蕉一区二区三区 | 草莓巧克力香氛动漫的观看方法 | yy4138理论片动漫理论片 | 久久精品国产亚洲av久一一区 | 国产91在线免费观看 | 欧美日批视频 | 国产一级淫片免费 | 告诉我真相俄剧在线观看 | 国产大奶在线 | 黄a在线| 亚洲性影院 | 少妇25p| 午夜精品久久久久久久 | 蜜臀久久精品久久久久久酒店 | 欧美午夜精品久久久久久孕妇 | 国产老妇伦国产熟女老妇视频 | 天堂视频免费 | 欧美日韩视频免费观看 | 伊人久久影视 | 精品无码久久久久 | 亚洲欧美999 | 欧美中字 | 国产 欧美 日韩 一区 | 国产日韩一区二区 | 欧美特级黄色片 | 欧美成人免费网站 | 欧美性猛交xxxx乱大交3 | 久久一区二区精品 | 波多野结衣黄色网址 | 日韩av在线观看免费 | 日本黄色特级片 | 国产精品伦一区二区三区免费看 | 成人午夜激情网 | 黄色片网站在线 | 成人精品| 无码精品视频一区二区三区 | 成人激情片 | 美女又大又黄 | av鲁丝一区二区鲁丝 | 美女黄色一级片 | 久久久久性 | 99国产精品久久久久久久成人 | 韩国三级bd高清中字2021 | 日韩在线观看第一页 | 免费成人深夜夜 | 国产91一区二区三区在线精品 | 麻豆精品国产传媒av绿帽社 | 中国丰满老妇xxxxx交性 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 播色网| 极品少妇xxxx精品少妇 | 一区二区三区中文字幕在线观看 | 朝鲜美女黑毛bbw | 狠狠影视| 涩涩av | 污污内射久久一区二区欧美日韩 | 亚洲精品乱码久久 | 极品美女被c |