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

關于keep-alive路由多級嵌套不生效的解決方案

 更新時間:2022年03月25日 11:27:53   作者:jim  
本文主要介紹了關于keep-alive路由多級嵌套不生效的解決方案,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

問題

發(fā)現(xiàn)了一個問題,多級嵌套的路由緩存頁面沒有生效。網(wǎng)上其實有一些是把路由拍平,然后再去處理菜單,但是我覺得還不如從根源上去解決這個問題。順帶了解一下keep-alive的工作原理。 實際就是根據(jù)組件的名稱,如果即將渲染的組件名稱命中存在緩存數(shù)組,那么直接取緩存里的組件進行渲染。同時,這個命中緩存是帶有父子組件關聯(lián)關系的

以下會根據(jù)本圖做講解

定位問題

keep-alive實際就是根據(jù)組件的名稱,如果即將渲染的組件名稱命中存在緩存數(shù)組,那么直接取緩存里的組件進行渲染。也就是我們一個頁面的渲染,是按一個一個組件來的,組件命中緩存則取緩存,如果沒有緩存,則下面的子組件不再進行緩存命中的判斷,從新渲染。

我們在路由上定義了name屬性,以name和組件名稱相對應的形式去判斷路由跳轉時當前組件是否銷毀。實際上keep-alive就是根據(jù)組件名稱去判斷是否保活的,所以之所以多級路由沒有生效的原因就顯而易見了,多級路由我們有一個中間組件去作為路由容器,然而這個路由容器組件我們沒有定義組件名,所以導致了沒有辦法緩存最后一層的組件。

也就是我們的layout還有wrapper/index.vue組件中沒有定義名稱,所以哪怕給keep-alive的include傳遞了Summary組件的名稱,但是由于父級并沒有找到,所以沒辦法在下次渲染時命中該組件的緩存。

解決方案

由問題定位可知,我們?nèi)ヒ患壱患壧砑咏M件名稱不就ok了嗎。 但是,就有一個問題出現(xiàn)了,layout還有wrapper/index.vue是多個組件復用的啊,這樣不就會導致我所有的頁面的中間組件都會被緩存起來了嗎。

所以,我們動態(tài)組件名不就o了嗎,所以我們就直接根據(jù)hash去取對應的路由值去賦值給組件名稱賦值

額外的問題及題解

我們存在tab-view組件,可以關閉緩存頁面,但是我們現(xiàn)在一個二級頁面緩存的是兩個組件,一個三級頁面緩存的是三個組件,而且相同父級的還共同依賴父級組件,也就是實際緩存summary和fabInventory兩個頁面時,是緩存了Inventory,InventoryManagement,summary和fabInventory四個組件,所以清除掉summary時,你還要考慮是否他有兄弟路由被緩存,如果存在則父級別緩存,這是個往上遞歸的判斷

到此這篇關于關于keep-alive路由多級嵌套不生效的解決方案的文章就介紹到這了,更多相關keep-alive路由多級嵌套不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue實現(xiàn)圖片上傳預覽功能

    vue實現(xiàn)圖片上傳預覽功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)圖片上傳預覽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • VueJs單頁應用實現(xiàn)微信網(wǎng)頁授權及微信分享功能示例

    VueJs單頁應用實現(xiàn)微信網(wǎng)頁授權及微信分享功能示例

    本篇文章主要介紹了VueJs單頁應用實現(xiàn)微信網(wǎng)頁授權及微信分享功能示例,具有一定的參考價值,有興趣的可以了解一下
    2017-07-07
  • vue elementui上傳圖片限制格式、大小和尺寸方式

    vue elementui上傳圖片限制格式、大小和尺寸方式

    這篇文章主要介紹了vue elementui上傳圖片限制格式、大小和尺寸方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解Vue之事件處理

    詳解Vue之事件處理

    這篇文章主要介紹了Vue之事件處理的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下。
    2020-07-07
  • Vue子組件調(diào)用父組件事件的3種方法實例

    Vue子組件調(diào)用父組件事件的3種方法實例

    大家在做vue開發(fā)過程中經(jīng)常遇到父組件需要調(diào)用子組件方法或者子組件需要調(diào)用父組件的方法的情況,這篇文章主要給大家介紹了關于Vue子組件調(diào)用父組件事件的3種方法,需要的朋友可以參考下
    2024-01-01
  • vue component組件使用方法詳解

    vue component組件使用方法詳解

    這篇文章主要為大家詳細介紹了vue component組件的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue.js實現(xiàn)備忘錄功能的方法

    vue.js實現(xiàn)備忘錄功能的方法

    下面小編就為大家?guī)硪黄獀ue.js實現(xiàn)備忘錄功能的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue v-model的用法解析

    vue v-model的用法解析

    這篇文章主要介紹了v-model的基本用法解析,幫助大家更好的理解和學習vue v-model的使用方法,感興趣的朋友可以了解下
    2020-10-10
  • vue3中reactive不能直接賦值的解決方案

    vue3中reactive不能直接賦值的解決方案

    這篇文章主要介紹了vue3中reactive不能直接賦值的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 詳解Vue 開發(fā)模式下跨域問題

    詳解Vue 開發(fā)模式下跨域問題

    本篇文章主要介紹了Vue 開發(fā)模式下跨域問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論