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

vue3.0中的keep-alive使用及說明

 更新時間:2023年05月20日 14:21:39   作者:jiahao778  
這篇文章主要介紹了vue3.0中的keep-alive使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

keep-alive

用法

keep-alive是vue中的一個內(nèi)置組件,通常用它來包裹一個動態(tài)組件,keep-alive 包裹動態(tài)組件時,會緩存不活動的組件實例,而不是銷毀它們。

它有兩個特殊的生命周期鉤子activateddeactivated,在vue3.0里面生命周期函數(shù)前面都要加上on,onActivated,onDeactivated。

當組件在使用了keep-alive包裹時,正常的生命周期函數(shù)mountedunmounted將不會執(zhí)行,取而代之的是為它新增的這個兩個特殊鉤子函數(shù)。

vue3.0生命周期圖:

![Alt](https://img-home.csdnimg.cn/images/20220524100510.png

屬性

  • include:只有名稱匹配的組件會被緩存;類型可以是數(shù)組、字符串或者正則。
  • exclude:名稱匹配的組件不會被緩存;類型可以是數(shù)組、字符串或者正則。
  • max:最多可以緩存多少組件實例。

vue3中使用

vue3中的寫法和vue2中稍微有點不同,具體代碼可以參考下方:

<router-view v-slot="{ Component, route }" id="pageWrapper">
    <transition :name="transitionName" mode="out-in">
      <keep-alive :include="cacheRouter">
        <component :is="Component" />
      </keep-alive>
    </transition>
 </router-view>

設(shè)置被緩存的路由 可以直接寫死,把需要緩存的路由name寫到一個數(shù)組中,這樣最簡單粗暴,不過不靈活,不建議使用這種方式

cacheRouter: ['home', 'order'];

通過設(shè)置路由原信息

在需要被緩存的組件的meta里面添加keepAlive標記

export const routes: RouteRecordRaw[] = [
  {
    path: '/myLogin',
    name: 'myLogin',
    component: () => import('@/views/login/login.vue'),
    meta: {
      title: '登錄',
      index: 1,
      keepAlive: true,
    },
  },
];
let cacheList: any[] = [];
const keepAliveView = (_route: RouteRecordRaw[], _cache: RouteRecordName[]): void => {
  _route.forEach((item) => {
    item.meta?.keepAlive && item.name && _cache.push(item.name);
  });
};
//routes 路由配置數(shù)組
keepAliveView(routes, cacheList);
export default cacheList;

vue3.0與vue2.0中keep-alive的用法區(qū)別

vue2.0

? ? <keep-alive>
? ? ? <router-view />
? ? </keep-alive>

vue3.0

? ? <suspense>
? ? ? <router-view v-slot="{ Component }">
? ? ? ? <keep-alive>
? ? ? ? ? <component :is="Component" />
? ? ? ? </keep-alive>
? ? ? </router-view>
? ? </suspense>

注意點

如果 router-view 嵌套的子組件里面還有router-view, 那么子組件里面也要加上keep-alive 

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue-cli3 從搭建到優(yōu)化的詳細步驟

    vue-cli3 從搭建到優(yōu)化的詳細步驟

    這篇文章主要介紹了vue-cli3 從搭建到優(yōu)化的詳細步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 深度了解vue.js中hooks的相關(guān)知識

    深度了解vue.js中hooks的相關(guān)知識

    這篇文章主要介紹了深度了解vue.js中hooks的相關(guān)知識,生命周期鉤子提供了一些 方法 ,因此你可以在組件生命周期的不同時刻精確地觸發(fā)某些操作。當我們將組件實例化時,組件會被創(chuàng)建,反之會被銷毀。,需要的朋友可以參考下
    2019-06-06
  • vue 2.0組件與v-model詳解

    vue 2.0組件與v-model詳解

    這篇文章主要介紹了vue 2.0組件與v-model的相關(guān)資料,文中介紹的非常詳細,本文適合初學組件編寫的同學閱讀,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • Vue項目業(yè)務(wù)邏輯模塊介紹

    Vue項目業(yè)務(wù)邏輯模塊介紹

    這篇文章主要介紹了Vue項目業(yè)務(wù)邏輯,不同的項目有不同的功能,不同的功能需要不同的實現(xiàn),實現(xiàn)這些核心功能的代碼就叫業(yè)務(wù)邏輯。所以說業(yè)務(wù)邏輯是指一個實體單元為了向另一個實體單元提供服務(wù),應(yīng)該具備的規(guī)則與流程
    2022-11-11
  • Vue3實現(xiàn)動態(tài)導入Excel表格數(shù)據(jù)的方法詳解

    Vue3實現(xiàn)動態(tài)導入Excel表格數(shù)據(jù)的方法詳解

    在開發(fā)工作過程中,我們會遇到各種各樣的表格數(shù)據(jù)導入,動態(tài)數(shù)據(jù)導入可以減少人為操作,減少出錯。本文為大家介紹了Vue3實現(xiàn)動態(tài)導入Excel表格數(shù)據(jù)的方法,需要的可以參考一下
    2022-11-11
  • 使用echarts點擊按鈕從新渲染圖表并更新數(shù)據(jù)

    使用echarts點擊按鈕從新渲染圖表并更新數(shù)據(jù)

    這篇文章主要介紹了使用echarts點擊按鈕從新渲染圖表并更新數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue路由切換時取消之前的所有請求操作

    vue路由切換時取消之前的所有請求操作

    這篇文章主要介紹了vue路由切換時取消之前的所有請求操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • unplugin-auto-import與unplugin-vue-components安裝問題解析

    unplugin-auto-import與unplugin-vue-components安裝問題解析

    這篇文章主要為大家介紹了unplugin-auto-import與unplugin-vue-components問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 詳解vue過濾器在v2.0版本用法

    詳解vue過濾器在v2.0版本用法

    本篇文章主要介紹了vue過濾器在v2.0版本用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • vue實現(xiàn)移動端可拖拽式icon圖標

    vue實現(xiàn)移動端可拖拽式icon圖標

    這篇文章主要為大家詳細介紹了vue實現(xiàn)移動端可拖拽式icon圖標,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論