最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

keep-alive不能緩存多層級(jí)路由菜單問(wèn)題解決

 更新時(shí)間:2020年03月10日 12:07:36   作者:一路從容  
這篇文章主要介紹了keep-alive不能緩存多層級(jí)路由菜單問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

這出現(xiàn)的原因是多級(jí)路由導(dǎo)致的,就是router-view嵌套 在層級(jí)不同的router-view中切換tag會(huì)出現(xiàn)緩存數(shù)據(jù)失效的問(wèn)題。目前keep-alive可以有效緩存一級(jí),二級(jí)的路由菜單,3級(jí)以上菜單并不能做到緩存,這里提供一個(gè)解決方案:

在cachedViews中手動(dòng)加上一級(jí)菜單和三級(jí)菜單之間,缺失的二級(jí)菜單的名字,這樣二級(jí)菜單下的組件就會(huì)緩存了

實(shí)列代碼如下:

const _import = require('@/router/_import_prodection');//獲取組件的方法
import {tree} from '@/utils/treeDate'
import Layout from '@/views/layout'
import EmptyTemplate from '@/views/layout/EmptyTemplate'

export function filterAsyncRouter(routerlist) {
  const routerlists=tree(routerlist )
  //獲取路由信息
  function getRouter(routerlists){
    routerlists.forEach(e => {
    // 刪除無(wú)用屬性
    delete e.catalogCode
    delete e.catalogOrder
    delete e.endpoints
    delete e.fullOrder
    
    // delete e.permName
    // delete e.id
    // delete e.parentId
    e.name=e.catalogName
    
    if (e.parentId === 0||e.children) {//Layout組件特殊處理
      //路徑為空時(shí)會(huì)因?yàn)閡ndefind報(bào)錯(cuò),給個(gè)默認(rèn)值來(lái)解決
      e.path = e.url||'nopath'
      if(e.url.split('/').length>2){
      //處理多層級(jí)路的時(shí)候給了一個(gè)空模板
        e.component = EmptyTemplate
      }else{
        e.component = Layout
      }
      e.icon='setting-fill'
      
    } else {
      e.icon='circle'
      e.component = _import(e.url)
      //路徑為空時(shí)會(huì)因?yàn)閡ndefind報(bào)錯(cuò),給個(gè)默認(rèn)值來(lái)解決
      e.path = e.url.split('/')[2]||'nopath'
    }
    // delete e.parentId
    delete e.url
    // if (e.redirect === '') {
    //  delete e.redirect
    // }
    
    if (e.icon !== '' && e.title !== '') { // 配置 菜單標(biāo)題 與 圖標(biāo)
      e.meta = {
        // title: e.catalogName 中文名稱
         // catalogEngName 英文名稱
        title: e.catalogEngName,
        titleZh:e.catalogName,
        icon: e.icon
      }
    }
    delete e.catalogName
    delete e.icon
    delete e.title
    // delete e.name//由于名字的存在導(dǎo)致named 錯(cuò)誤 刪掉
    if (e.children != null) {
      // 存在子路由就遞歸
      getRouter(e.children)
    }
    })
    return routerlists
  }
  const getRouters=getRouter(routerlists)
    // return asyncRouterMap
    
  return getRouters
}

空模板的代碼如下:

<template>
<div>
  <app-main/>
</div>
</template>
<script>
import { AppMain} from './components'
export default {
  name:'EmptyTemplate',
  components:{AppMain}
  
}
</script>

tagsViewd.js關(guān)鍵代碼,在cachedViews中加入空模板的name

const state = {
 visitedViews: [],
 cachedViews: ['EmptyTemplate']
}

到此這篇關(guān)于keep-alive不能緩存多層級(jí)路由菜單問(wèn)題解決的文章就介紹到這了,更多相關(guān)keep-alive不能多層緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Element布局組件el-row和el-col的使用

    Element布局組件el-row和el-col的使用

    這篇文章主要介紹了Element布局組件el-row和el-col的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 一文帶你搞懂Vue3中的各種ref的使用

    一文帶你搞懂Vue3中的各種ref的使用

    在?Vue3?中,有許多與響應(yīng)式相關(guān)的函數(shù),例如?toRef、toRefs、isRef、unref?等等,本文將詳細(xì)介紹這些函數(shù)的用法,讓我們?cè)趯?shí)際開(kāi)發(fā)中知道應(yīng)該使用哪些?API?并能夠熟練地回答面試官的相關(guān)問(wèn)題
    2023-08-08
  • vue 中 get / delete 傳遞數(shù)組參數(shù)方法

    vue 中 get / delete 傳遞數(shù)組參數(shù)方法

    這篇文章主要介紹了vue 中 get / delete 傳遞數(shù)組參數(shù)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 解決vue3打包過(guò)后空白頁(yè)面的情況

    解決vue3打包過(guò)后空白頁(yè)面的情況

    這篇文章主要介紹了解決vue3打包過(guò)后空白頁(yè)面的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue.js 實(shí)現(xiàn)微信公眾號(hào)菜單編輯器功能(二)

    Vue.js 實(shí)現(xiàn)微信公眾號(hào)菜單編輯器功能(二)

    這篇文章主要介紹了Vue.js 實(shí)現(xiàn)微信公眾號(hào)菜單編輯器功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-05-05
  • vue2中@hook的解析與妙用實(shí)例

    vue2中@hook的解析與妙用實(shí)例

    vue-hooks是簡(jiǎn)化組件定義、復(fù)用狀態(tài)邏輯的一種最新嘗試,下面這篇文章主要給大家介紹了關(guān)于vue2中@hook的解析與妙用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • vue全局混入之狀態(tài)判斷是否執(zhí)行點(diǎn)擊

    vue全局混入之狀態(tài)判斷是否執(zhí)行點(diǎn)擊

    這篇文章主要介紹了vue全局混入之狀態(tài)判斷是否執(zhí)行點(diǎn)擊方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue?axios庫(kù)發(fā)送請(qǐng)求的示例介紹

    Vue?axios庫(kù)發(fā)送請(qǐng)求的示例介紹

    axios是基于promise的HTTP庫(kù),可以使用在瀏覽器和node.js中,它不是vue的第三方插件,vue-axios是axios集成到Vue.js的小包裝器,可以像插件一樣安裝使用:Vue.use(VueAxios,?axios),本文給大家介紹Vue?axios和vue-axios關(guān)系,感興趣的朋友一起看看吧
    2022-08-08
  • 使用Vue3和ApexCharts實(shí)現(xiàn)3D徑向條形圖的代碼

    使用Vue3和ApexCharts實(shí)現(xiàn)3D徑向條形圖的代碼

    徑向條形圖是一種用于可視化單一數(shù)據(jù)點(diǎn)及其與目標(biāo)或理想值的關(guān)系的圖表類(lèi)型,它在顯示進(jìn)度、完成率或其他類(lèi)似度量時(shí)非常有用,本文給大家介紹了使用Vue3和ApexCharts實(shí)現(xiàn)3D徑向條形圖,感興趣的小伙伴可以參考閱讀下
    2024-06-06
  • el-select綁定值遇到的問(wèn)題小結(jié)

    el-select綁定值遇到的問(wèn)題小結(jié)

    碰到一個(gè)問(wèn)題,選擇框的數(shù)據(jù)是后端傳過(guò)來(lái)的,下拉框的數(shù)據(jù)也是后端傳過(guò)來(lái)的,但是打開(kāi)下拉框時(shí),發(fā)現(xiàn)數(shù)據(jù)沒(méi)有高亮,最后通過(guò)只要選擇框v-model給的值和option的value綁定的值一致,就可以高亮,感興趣的朋友一起看看吧
    2023-12-12

最新評(píng)論

巴中市| 仁化县| 娱乐| 都兰县| 茶陵县| 米易县| 塘沽区| 莱西市| 宽甸| 兰溪市| 滦南县| 同德县| 札达县| 股票| 电白县| 泰安市| 鄱阳县| 延吉市| 东辽县| 惠州市| 旬邑县| 高州市| 洛隆县| 乳山市| 黑水县| 长子县| 石阡县| 秀山| 阳东县| 宝兴县| 盐边县| 长武县| 乌鲁木齐县| 靖边县| 玉溪市| 黑水县| 昭平县| 射洪县| 长沙县| 射阳县| 阿拉善左旗|