亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

瀏覽:27日期: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自在线 | 香蕉久久一区二区不卡无毒影院 | 亚洲欧美成人综合久久久 | 久久毛片免费看 | 亚洲专区视频 | 久久久日本久久久久123 | 免费毛片a线观看 | 日韩一区国产二区欧美三区 | 一本不卡 | 亚洲美女在线播放 | 亚洲国产精品线在线观看 | 一区二区影视 | 91久久精一区二区三区大全 | 亚洲精品日韩专区在线观看 | 久久久黄色大片 | 喷潮白浆 | 国产免费一区二区在线看 | 亚洲国产爱久久全部精品 | 国产精品成人不卡在线观看 | 一区二区三区免费在线视频 | 国产成人久久精品二区三区 | 国产精品a区 | 亚洲免费小视频 | 黄色美女免费网站 | 久久免费播放视频 | 国内精品一区二区在线观看 | 成人国产在线看不卡 | 国产日韩精品欧美一区 | 91国在线啪精品一区 | 日本免费www | 韩国美女激情视频一区二区 | 97国产精品视频观看一 |