欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue keep-alive多層級(jí)路由支持問題分析

 更新時(shí)間:2023年03月03日 10:50:03   作者:小墨寶  
這篇文章主要介紹了vue keep-alive多層級(jí)路由支持,在文章開頭給大家介紹了keep-alive使用問題,解決使用keep-alive include屬性問題,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下

keep-alive使用

屬性值

1.include - 字符串或正則表達(dá)式。只有名稱匹配的組件會(huì)被緩存。
2.exclude - 字符串或正則表達(dá)式。任何名稱匹配的組件都不會(huì)被緩存。
3.max - 數(shù)字。最多可以緩存多少組件實(shí)例。

注:匹配首先檢查組件自身的 name 選項(xiàng),如果 name 選項(xiàng)不可用,則匹配它的局部注冊(cè)名稱 (父組件 components 選項(xiàng)的鍵值)。匿名組件不能被匹配

會(huì)執(zhí)行的兩個(gè)生命周期

activated(){
       console.log("keep進(jìn)入")
       if(this.activeName!='1'){
         this.activeName='1'
       }
    },
    deactivated(){
      console.log("keep離開")
    }

問題:vue 內(nèi)置的緩存組件keep-alive,緩存的只有第一層的組件
類似于這樣的多層級(jí)組件是無法支持的

我們項(xiàng)目里的路由還是動(dòng)態(tài)的,其實(shí)跟上面一樣 主要處理

item.component = { render: (e) => e(‘router-view’) }
這個(gè)是router-view容器 當(dāng)你這一層不需要組建的時(shí)候 用的

其實(shí)邏輯也就是循環(huán)遍歷后端返回?cái)?shù)據(jù),根據(jù)key動(dòng)態(tài)的加載頁(yè)面

解決: 使用keep-alive include屬性

1。直接平鋪路有,這個(gè)不建議,很多路有菜單都是在側(cè)邊欄有層級(jí)的

2.這里采用第二種
1)新建MenuMain.vue組件如下

// src/layout/component/MenuMain.vue
// 提供多級(jí)菜單的容器
<template>
  <keep-alive :include="cachedViews">
    <router-view :key="key" />
  </keep-alive>
</template>
 
<script>
export default {
  name: 'MenuMain', // 必須命名
  computed: {
    cachedViews() {
      return this.$store.state.tagsView.cachedViews
    },
    key() {
      return this.$route.path
    }
  }
}
</script>

2)將此容器取代處理數(shù)據(jù)時(shí)render的 router-view 容器

3)include 數(shù)組始終都有 允許MenuMain緩存

cachedViews: ['MenuMain']

cachedViews緩存數(shù)組 用在 menuMain。vue中 和 你的入口 app.vue router-view

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

相關(guān)文章

最新評(píng)論