vue不使用keep-alive下,實(shí)現(xiàn)多頁簽后臺(tái)管理框架

最近想用vue開發(fā)一個(gè)多頁簽的后臺(tái)管理框架,github搜了下,還是有不少的可以借鑒的源碼。但是試用了下,發(fā)現(xiàn)由于keep-alive本身只能針對(duì)組件名,通過include及exclude做條件緩存,無法針對(duì)url做緩存,導(dǎo)致明細(xì)頁的窗口無法實(shí)現(xiàn)緩存,下面是之前找過的vue-element-admin框架的一個(gè)說明:

?

我試了下,vue-element-admin雖然可以打開多個(gè)article,但是每次切換標(biāo)簽,會(huì)在activated事件執(zhí)行重新加載數(shù)據(jù),原先編輯一半數(shù)據(jù)會(huì)丟失。

做了多種嘗試,由于keep-alive與vue-router捆綁得太緊,最終放棄使用keep-alive,嘗試用動(dòng)態(tài)組件的方式實(shí)現(xiàn) 多頁簽功能。

首先,我們利用vuex來存放標(biāo)簽頁信息:

vuex state定義一個(gè)名叫pages的array

?

vuex mutations添加、刪除頁面的處理

?

?

第二步是,調(diào)整vue-router:

我這里將頁面分為兩種,一種是標(biāo)簽頁,也就是放在主窗體里面的,打開有對(duì)應(yīng)標(biāo)簽的頁面,如列表界面、編輯界面;另一種是非標(biāo)簽頁,如主窗體、錯(cuò)誤頁、登錄頁。

?

如上圖,屬于標(biāo)簽頁的列表、編輯等頁面有多了個(gè)name數(shù)據(jù)項(xiàng),非標(biāo)簽頁不需要,該name將傳給component動(dòng)態(tài)組件

接下來,根據(jù)剛才在routes定義的數(shù)據(jù),對(duì)標(biāo)簽頁組件做全局注冊

?

第三步,在vue-router的beforeEach攔截標(biāo)簽頁的路由,走自定義路由。這樣處理,我們就可以通過url鏈接的方式來打開標(biāo)簽頁,并可以通過url上傳入?yún)?shù):

?

我們將to.params及to.query也保留下來,以傳給動(dòng)態(tài)組件,至于權(quán)限驗(yàn)證這里就不再說明

最后,在主框架main.vue上,增加動(dòng)態(tài)組件:

?

通過動(dòng)態(tài)組件我們就可以實(shí)現(xiàn)多頁簽的后臺(tái)管理框架,完全拋棄keep-alive,這種方式,可以支持編輯同一組件的多個(gè)明細(xì)頁,效果如下:

?

?

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • VUE Vue :數(shù)據(jù)驅(qū)動(dòng)的M V Vm框架 m :model(后臺(tái)提供數(shù)據(jù)),v :view(頁面),vM(模板...
    wudongyu閱讀 5,527評(píng)論 0 11
  • 目錄 UI組件 開發(fā)框架 實(shí)用庫 服務(wù)端 輔助工具 應(yīng)用實(shí)例 Demo示例 UI組件 element★13489 ...
    余生社會(huì)閱讀 20,497評(píng)論 7 233
  • Vue開源項(xiàng)目庫 Vue.js開源項(xiàng)目速查表:https://www.ctolib.com/cheatsheets...
    cctN閱讀 1,134評(píng)論 0 13
  • 轉(zhuǎn)載 :OpenDiggawesome-github-vue 是由OpenDigg整理并維護(hù)的Vue相關(guān)開源項(xiàng)目庫...
    果汁密碼閱讀 23,405評(píng)論 8 124
  • 從小時(shí)候開始就有兩面性,在朋友面前一個(gè)樣,在家人面前一個(gè)樣,如果朋友和家人同時(shí)存在就會(huì)很拘謹(jǐn),很不自在。 心里真的...
    飄尼X閱讀 225評(píng)論 0 0

友情鏈接更多精彩內(nèi)容