91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Vue設置keepAlive不生效怎么解決

發布時間:2022-04-15 17:35:29 來源:億速云 閱讀:559 作者:zzz 欄目:開發技術

本篇內容主要講解“Vue設置keepAlive不生效怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Vue設置keepAlive不生效怎么解決”吧!

設置keepAlive不生效

Vue設置keepAlive不生效怎么解決

如演示,Vue頁面導航回退后頁面重新刷新了,搜索條件及結果都重置了,對于頁面需要頻繁切換的系統來說,體驗不佳,我們希望頁面第一次打開時加載,此后回退不再刷新

查閱了Vue官網后,發現vue2.0提供了一個keep-alive組件。

1.在App.vue中的設置

<template>
  <div id="app">
    <keep-alive>
      <router-view v-if="$route.meta.keepAlive"></router-view>
    </keep-alive>
    <router-view v-if="!$route.meta.keepAlive"></router-view>
  </div>
</template>

2.在router中的index.js設置

利用meta屬性

export default[
 {
  path:'/',
  name:'home',
  components:Home,
  meta:{
    keepAlive:true //需要被緩存的組件
 },
 {
  path:'/book',
  name:'book',
  components:Book,
  meta:{
     keepAlive:false //不需要被緩存的組件
 } 
]

 正常的話這樣頁面就能緩存并生效了,如果還是不生效

檢查這個組件在router文件中的配置name和組件實例中的name不一致,如下面,全局守衛中拿到的to或from的name是從router中對應的路由對象中拿的,而App.js 中的keepAlive標簽中的exclude是對比的組件實例中的name

Vue設置keepAlive不生效怎么解決                   

          Vue設置keepAlive不生效怎么解決

 使用過程發現,組件的name和router配置的name不一樣,keep-alive也無法生效,這里也提供給我們一種思路,如果頁面不需要緩存,把name設置不一樣就好了(不推薦使用)

keep-alive緩存組件不生效的坑

坑出現背景

在維護公司代碼時發現里面寫watch route不生效,無法監聽子路由的table切換。組件不會緩存,但是全局組件已經做過緩存處理。此處每次進入此table頁都會觸發created周期。花費大半個小時之后終于找到了問題點

坑的原因

keep-alive緩存時include中的名字必須與組件上的名字完全一致,組件沒有寫名字或者名字不一致就會導致緩存失效,每次進入組件都觸發created生命周期

代碼如下

全局組件中

   <keep-alive include="history">
       <router-view></router-view>
    </keep-alive>

組件中

export default {
  name: "history",/*此處的name必須有且與include中的一致*/
  components: {
    VTable
  },

到此,相信大家對“Vue設置keepAlive不生效怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

海林市| 桂东县| 宁陵县| 且末县| 宁国市| 麦盖提县| 贵阳市| 玉林市| 获嘉县| 博湖县| 平邑县| 林州市| 兴文县| 北辰区| 延津县| 庄浪县| 满洲里市| 梅州市| 银川市| 九台市| 东阳市| 响水县| 许昌县| 巢湖市| 五原县| 尚义县| 清涧县| 祁阳县| 宿迁市| 玛多县| 泗水县| 大方县| 克东县| 镇远县| 宁城县| 八宿县| 尤溪县| 岢岚县| 嘉善县| 广水市| 万宁市|