亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

vue使用keep-alive實現組件切換時保存原組件數據方法

瀏覽:43日期:2022-11-08 18:50:40

前言

最近在做一個精品課程后臺管理系統,其中涉及文件上傳和文件列表展示,我不想將他們寫入一個組件,故分開兩個組件實現。

問題:但由于上傳文件需要時間,這時要是用戶切換別的組件查看時,上傳文件組件就銷毀了,導致文件上傳失敗。

追求效果:想利用keep-alive實現上傳組件切換時仍繼續上傳文件,而其他組件則不會存活。

使用keep-alive的過程

普通方法:直接使用keep-alive

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

效果:雖然能使上傳文件組件存活,在切換組件時仍可繼續上傳

問題:其余各個組件都不會銷毀和重新掛起,導致所有組件的內容不會更新

更好一點的方法:配置路由加以判斷是否適用keep-alive

路由js:

//ManageFiles組件需要重新掛起刷新數據,而ManageUploadFile為上傳文件組件,故想之存活{ path:’files’, name:’ManageFiles’, component: () => import(’../pages/course/manage/resource/files/Files’),},{ path:’uploadfile’, name:’ManageUploadFile’, meta:{ keepAlive:true //是否存活標志 }, component: () => import(’../pages/course/manage/resource/files/UploadFile’),},

切換組件:

<template> <div class='manageResource'> <keep-alive> <router-view v-if='$route.meta.keepAlive' /> </keep-alive> <router-view v-if='!$route.meta.keepAlive' /> </div></template>

效果圖:

(1)一開始為File組件,mounted()打印’我是File’

vue使用keep-alive實現組件切換時保存原組件數據方法

(2)第一次切換為UploadFile組件,mounted()打印’我是UploadFile’

vue使用keep-alive實現組件切換時保存原組件數據方法

(3)再次切換回File組件,mounted()再次重新打印’我是File’

vue使用keep-alive實現組件切換時保存原組件數據方法

(4)最后再次切換回UploadFile組件,因為它一直存活,所以不會重新觸發mounted()再次重新打印’我是UploadFile’

vue使用keep-alive實現組件切換時保存原組件數據方法

補充知識:vue 動態組件(tabs切換)keep-alive:主要用于保留組件狀態或避免重新渲染

通過keep-alive 保留數據值 填寫數據時切換到其他頁面,后返回當前頁數據保留 ,主要用于保留組件狀態或避免重新渲染

<!--動態組件-component使用--> <div class='app'> <ul> <li @click='currView=’home’'>首頁</li> <li @click='currView=’abount’'>關于我們</li> </ul> <!--通過keep-alive 保留數據值 填寫數據時切換到其他頁面,后返回當前頁數據保留--> <keep-alive> <component :is='currView'></component> </keep-alive> </div>

<script type='text/x-Template' id='homeTemp'> <h2>首頁數據</h2></script><script type='text/x-Template' id='abountTemp'> <h2>關于我們數據<input type='text'/></h2></script>

<script type='text/javascript'> var vm=new Vue({ el:’.app’, data:{ currView:'home' }, components:{ 'home':{ template:'#homeTemp' }, 'abount':{ template:'#abountTemp' } } }); </script>

vue使用keep-alive實現組件切換時保存原組件數據方法

以上這篇vue使用keep-alive實現組件切換時保存原組件數據方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 欧美一级在线视频 | 1717she精品国产真正免费 | 欧美一区二区三区男同 | 97国内精品久久久久久久影视 | 国产亚洲人成在线影院 | 999精品免费视频 | 国产精品嫩草影院人体模特 | 国产一级特黄aa大片免费 | 一级毛片免费看 | 在线看国产视频 | 午夜视频久久久久一区 | 久久精品在线 | 亚洲精品中文字幕无乱码 | 一区二区三区无码高清视频 | www.成人网| 免费香蕉视频国产在线看 | 我要看一级毛片 | miya亚洲私人影院在线 | 网址黄色 | 一级一级特黄女人精品毛片 | 国产一级理仑片日本 | 国产1区二区 | 亚洲欧美日韩一区高清中文字幕 | 日本一本久道 | 精品国产日韩亚洲一区二区 | 视频国产91 | 尤物视频在线免费 | 国产在线视频精品视频免费看 | 96av视频 | 国产或人精品日本亚洲77美色 | 亚洲欧美日韩中文字幕在线不卡 | 经典香港一级a毛片免费看 春水堂在线 | 国产精品久久在线观看 | 欧美一a一片一级一片 | 亚洲综合视频 | 免费成人黄色片 | 国产1区在线观看 | 911国产在线观看精品 | 51毛片 | 欧美xx毛片免费看 | 国产精品成熟老女人 |