亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(guān)于keep-alive路由多級(jí)嵌套不生效的解決方案

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

問題

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

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

定位問題

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

我們?cè)诼酚缮隙x了name屬性,以name和組件名稱相對(duì)應(yīng)的形式去判斷路由跳轉(zhuǎn)時(shí)當(dāng)前組件是否銷毀。實(shí)際上keep-alive就是根據(jù)組件名稱去判斷是否?;畹?,所以之所以多級(jí)路由沒有生效的原因就顯而易見了,多級(jí)路由我們有一個(gè)中間組件去作為路由容器,然而這個(gè)路由容器組件我們沒有定義組件名,所以導(dǎo)致了沒有辦法緩存最后一層的組件。

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

解決方案

由問題定位可知,我們?nèi)ヒ患?jí)一級(jí)添加組件名稱不就ok了嗎。 但是,就有一個(gè)問題出現(xiàn)了,layout還有wrapper/index.vue是多個(gè)組件復(fù)用的啊,這樣不就會(huì)導(dǎo)致我所有的頁面的中間組件都會(huì)被緩存起來了嗎。

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

額外的問題及題解

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

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

相關(guān)文章

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

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

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

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

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

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

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

    詳解Vue之事件處理

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

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

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

    vue component組件使用方法詳解

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

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

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

    vue v-model的用法解析

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

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

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

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

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

最新評(píng)論