亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

北碚区| 香河县| 云安县| 伊宁市| 体育| 西和县| 丰城市| 邹平县| 南康市| 池州市| 甘南县| 屯门区| 轮台县| 福安市| 石屏县| 嘉荫县| 丰都县| 富裕县| 鄱阳县| 元谋县| 普兰县| 麻阳| 阳谷县| 滕州市| 拉萨市| 扎兰屯市| 珠海市| 南宁市| 镇江市| 江门市| 新余市| 固阳县| 轮台县| 红安县| 承德市| 永寿县| 平舆县| 浮山县| 石河子市| 罗田县| 云林县|