国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue3,動態(tài)引入組件,同時動態(tài)設(shè)置組件的name,用于keep-alive緩存

這篇具有很好參考價值的文章主要介紹了vue3,動態(tài)引入組件,同時動態(tài)設(shè)置組件的name,用于keep-alive緩存。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

如果有兩個頁面邏輯大都相同,咱們想到的第一個肯定是寫一個組件,然后兩個路由都指向這個組件。
那如果現(xiàn)在多添加一個需求:兩個頁面在切換路由時都需要緩存數(shù)據(jù),并且兩個頁面的緩存數(shù)據(jù)要求獨立。
這個需求很簡單:在router-view外層包裹一個keep-alive組件,指定緩存名稱即可。

OK,有了需求,問題出現(xiàn):
因為keep-alive是根據(jù)組件的name來指定緩存策略的,兩個路由用的同一個component,他們的name是相同的,這樣導(dǎo)致兩個頁面的數(shù)據(jù)不能獨立緩存,他們會共用緩存數(shù)據(jù)

so,咱們有了又有了新的想法:能否動態(tài)的設(shè)置component的name,引用同一個組件設(shè)置不同的name。
相信這也是大家能搜到我這篇文章的原因,嘿嘿。

答案肯定的


//生產(chǎn)打包,需要vite引入模塊
const viewsComponent = import.meta.glob('/src/views/**/*.vue')
//實際的組件路徑
const componentPath= '/src/views/test.vue'
//自定義組件name
const componentName = 'woshipipixia'
//構(gòu)造動態(tài)路由
const dynamicRoute = {
  name: 'test',
  path: 'test',
  component: () => {
    //根據(jù)組件路徑動態(tài)獲取組件實例
    const component = viewsComponent[componentPath]
    if (!component) throw new Error(`${componentPath} 組件文件不存在!`)
    //重新構(gòu)造組件,調(diào)整組件name
    return component().then(comp => ({
      ...comp.default,
      name: componentName,
    }))
  }
}
//添加路由
router.addRoute(dynamicRoute)

這樣的組件name會被設(shè)置為woshipipixia,咱們就可以用這個name 在keep-alive緩存文章來源地址http://www.zghlxwxcb.cn/news/detail-620446.html

到了這里,關(guān)于vue3,動態(tài)引入組件,同時動態(tài)設(shè)置組件的name,用于keep-alive緩存的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Vue3】keep-alive 緩存組件

    【Vue3】keep-alive 緩存組件

    當在 Vue.js 中使用 keep-alive 組件時,它將會緩存動態(tài)組件,而不是每次渲染都銷毀和重新創(chuàng)建它們。這對于需要在組件間快速切換并且保持組件狀態(tài)的情況非常有用。 keep-alive 只能包含(或者說只能渲染)一個子組件,如果需要包含多個子組件,需要用 v-if 選擇某個確定的組

    2024年02月13日
    瀏覽(19)
  • keep-alive 是 Vue 的一個內(nèi)置組件,用于緩存其他組件的實例,以避免重復(fù)渲染和銷毀,它可以在需要頻繁切換的組件之間提供性能優(yōu)化

    keep-alive 是 Vue 的一個內(nèi)置組件,用于緩存其他組件的實例,以避免重復(fù)渲染和銷毀,它可以在需要頻繁切換的組件之間提供性能優(yōu)化

    目錄 keep-alive? 使用 keep-alive 的示例代碼: 手動清除組件緩存的示例代碼: keep-alive 組件有以下幾個優(yōu)點: keep-alive 的原理: 使用 keep-alive 組件,你可以包裹需要緩存的組件,然后這些組件在切換時將會被緩存起來,而不是每次都重新創(chuàng)建。 使用 keep-alive 的示例代碼: 我們

    2024年02月08日
    瀏覽(25)
  • Vue3 中引入液晶數(shù)字字體(通常用于大屏設(shè)計)

    Vue3 中引入液晶數(shù)字字體(通常用于大屏設(shè)計)

    下載液晶字體 DS-Digital.ttf ??注意:本項目使用的是 vue-cli 搭建的基礎(chǔ)框架, webpack.base.conf.js 配置文件中已經(jīng)配置好了,直接如上步驟使用即可,若是其他框架則需要檢查一下 webpack.base.conf.js 配置文件中以下配置是否包括 ttf 格式。

    2024年02月11日
    瀏覽(23)
  • Vue使用keep-alive設(shè)置哪些組件可以被緩存,哪些不被緩存

    Vue使用keep-alive設(shè)置哪些組件可以被緩存,哪些不被緩存

    需求:當一個項目中,不是所有的組件頁面都需要緩存起來,因為有些頁面是不需要的 ? ?$route.meta.keepAlive 判斷當前組件是否有keepAlive屬性 在路由js文件中在配置路由規(guī)則的時候配置 ?

    2024年02月16日
    瀏覽(16)
  • Vue3中的組件的name名

    Vue3中的組件的name名

    1、vue2中的組件名 我們學(xué)過Vue2同學(xué)們應(yīng)該知道,在Vue2中我們的每個組件都有自己的一個name名。 作用:在Vue2中,name屬性用來給組件命名,方便在開發(fā)者工具的調(diào)試時追蹤組件層級 2、Vue3中的組件名 隨著Vue3慢慢的替代Vue2,Vue3語法根Vue2的語法有很大的改變。 在公司中,也有

    2024年02月02日
    瀏覽(18)
  • Element table組件動態(tài)設(shè)置expand展開項以及同時只展開一項

    Element table組件動態(tài)設(shè)置expand展開項以及同時只展開一項

    場景一 :table表格展開項過多,界面數(shù)據(jù)太繁雜影響查看。 場景二 :Element Table加載的數(shù)據(jù)發(fā)生變化時,會重新渲染界面,之前的展開項會自動關(guān)閉,用戶需要手動去打開展開項,頻繁的手動操作會極大的影響客戶體驗。 Element Table 是一個基于 Element UI 的表格組件。要設(shè)置

    2024年02月11日
    瀏覽(18)
  • vue3+ts+vite項目引入echarts,vue3項目echarts組件封裝

    vue3+ts+vite項目引入echarts,vue3項目echarts組件封裝

    技術(shù)棧 :Vue3 + Ts + Vite + Echarts 簡介 : 圖文詳解,教你如何在 Vue3 項目中 引入Echarts , 封裝Echarts組件 ,并實現(xiàn)常用Echarts圖例 1.1 靜態(tài)效果 1.2 動態(tài)效果 2.1 安裝 Echarts npm: pnpm: 2.2 main.ts 中引入 2.3 Echarts 組件封裝 /src/components/ReEcharts/index.vue 文件中寫入如下代碼 3.1 柱狀圖 實現(xiàn)

    2024年02月09日
    瀏覽(33)
  • 搭建vue3項目+按需引入element-ui框架組件

    搭建vue3項目+按需引入element-ui框架組件

    場景 :使用vue create腳手架快速搭建vue的項目 前提 :需要安裝node.js和cnpm以及yarn 并且cnpm需要設(shè)置為淘寶鏡像,cnpm和yarn安裝教程網(wǎng)上很多可以自行搜索 查看安裝的版本(顯示版本號說明安裝成功) 1.cmd窗口跳到需要新建項目的文件夾下,使用vue create 2.我這里選擇第三個Ma

    2024年02月16日
    瀏覽(37)
  • 從0搭建Vue3組件庫(十三):引入Husky規(guī)范git提交

    從0搭建Vue3組件庫(十三):引入Husky規(guī)范git提交

    雖然我們項目中引入了 prettier 和 eslint 對代碼格式進行了校驗,但是多人開發(fā)的時候難免依然會有人提交不符合規(guī)范的代碼到倉庫中,如果我們拉取到這種代碼還得慢慢對其進行修改,這是一件很麻煩的事情,同時也為了避免團隊成員提交五花八門message,因此我們可以引入 husky 來從

    2024年02月07日
    瀏覽(24)
  • vue3+ant design vue+ts實戰(zhàn)【ant-design-vue組件庫引入】

    vue3+ant design vue+ts實戰(zhàn)【ant-design-vue組件庫引入】

    ????更多內(nèi)容見Ant Design Vue官方文檔 ??點擊復(fù)習(xí)vue3【watch檢測/監(jiān)聽】相關(guān)內(nèi)容 ??????一個好項目的編寫不僅需要完美的邏輯,以及相應(yīng)的技術(shù),同時也需要一個 設(shè)計規(guī)范的高質(zhì)量UI組件庫 。??????本期文章將會詳細講解 Ant Design of Vue 組件庫的 安裝、使用、引入 。

    2024年02月02日
    瀏覽(49)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包