中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue2.0 實現頁面緩存和不緩存的方式

發布時間:2020-08-19 13:48:48 來源:腳本之家 閱讀:488 作者:蝸牛速度額 欄目:web開發

1、在app中設置需要緩存的div

<keep-alive>//緩存的頁面
  <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>//不緩存的頁面

2、在路由router.js中設置.vue頁面是否需要緩存

{
  path: '/home',
  component: home,
  meta: { keepAlive: true },//當前的.vue文件需要緩存
},
{
  path: '/notice',
  component: notice,//當前頁面不需要緩存
}

3、從緩存頁面跳轉到不緩存頁面,或者從不緩存頁面跳轉到緩存頁面的時候,會發現watch是不能監聽路由的,是因為緩存和不緩存頁面分別在不同的div里面,一個div里面是不可能監聽到另一個div的路由的,所有需要把監聽的路由都加上緩存(在路由添加 meta: { keepAlive: true }),路由在緩存頁面之間進行跳轉的時候,就可以通過監聽路由來進行判斷數據是否需要更新。

vue keep-alive 緩存后, 進入緩存頁需要再次更新

beforeRouteEnter (to, from, next) {
 next (vm => {
   vm.getData()
 })
},
 mounted: function () {
  this.getData()
}

keep-alive 數據更新問題

在項目中使用<keep-alive>包含<router-view>實現頁面緩存,加速頁面加載,

同時,這種方式帶來一些弊端,請看如下大神解釋:

****************************************************************************

當引入keep-alive的時候,頁面第一次進入,鉤子的觸發順序created-> mounted-> activated,退出時觸發deactivated。

當再次進入(前進或者后退)時,只觸發activated。

****************************************************************************

這就帶來一個問題,之前在項目中使用mounted在頁面加載時獲取數據,使用<keep-alive>后方法不再生效,

根據上面的解釋,將mounted替換為activated即可。

以上這篇Vue2.0 實現頁面緩存和不緩存的方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉善县| 延安市| 余干县| 沙湾县| 阿坝| 宾川县| 当雄县| 宁远县| 衡阳县| 枣强县| 文山县| 怀宁县| 偏关县| 浏阳市| 刚察县| 耒阳市| 仪陇县| 河东区| 台前县| 兴海县| 正镶白旗| 巨野县| 咸丰县| 盐源县| 科尔| 读书| 静海县| 元朗区| 丘北县| 新乡县| 许昌县| 柳林县| 承德市| 弥渡县| 南丹县| 延津县| 永年县| 昌宁县| 松原市| 泾阳县| 磐安县|