色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:10日期: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
相關文章:
主站蜘蛛池模板: 亚洲高清成人欧美动作片 | 国内三级视频 | 免费在线观看毛片 | 天堂mv亚洲mv在线播放9蜜 | 日韩欧美一区二区久久 | 亚洲欧美精选 | 久久两性| 2021国产精品一区二区在线 | 国产美女在线精品亚洲二区 | 国产91香蕉| 日韩毛片欧美一级a网站 | 免费一级欧美大片在线观看 | 欧美另类视频videosbest18 | 久久国产影院 | 亚洲成a人片在线播放 | 在线中文字幕亚洲 | 亚洲久久在线观看 | 欧美一级视频免费看 | 国内精品91最新在线观看 | 欧美在线一区二区 | 成人免费视频播放 | 成年人黄色网址 | 视频三区精品中文字幕 | 国产精品精品国产一区二区 | 在线播放精品一区二区啪视频 | 国产在线观看免费 | 国产一区高清 | 欧美成人高清性色生活 | 精品国产视频在线观看 | 成人免费aaaaa毛片 | 亚洲国产精品一区二区九九 | 欧美一级级毛片 | 久久久久久久99精品免费观看 | 亚洲午夜大片 | 亚洲第一区香蕉_国产a | 日本 欧美 在线 | 在线观看国产一区二区三区 | 全部在线播放免费毛片 | 久久久久久久综合色一本 | 欧美成人黄色网 | 日韩一品在线播放视频一品免费 |