日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

vue Tab切換以及緩存頁面處理的幾種方式

瀏覽:23日期:2022-09-29 13:01:14
目錄1.如何切換2.動態(tài)生成tab3.緩存組件3.1 keep-alive3.2 使用3.3 緩存組件的生命周期函數(shù)1.如何切換

使用動態(tài)組件,相信大家都能看懂(部分代碼省略)

//通過點擊就可以實現(xiàn)兩個組件來回切換<button @click='changeView'>切換view</button><component :is='currentView'></component> import pageA from '@/views/pageA';import pageB from '@/views/pageB'; computed: { currentView(){ return this.viewList[this.index]; }}, methods: { changeView() { this.index=(++this.index)%2 }}

注:這個多用于單頁下的幾個子模塊使用,一般切換比較多使用下面的路由

使用路由(這個就是配置路由的問題了,不作贅述)

2.動態(tài)生成tab

一般UI框架給我們的tab切換都像是上面的那種,需要自己寫入幾個tab頁之類的配置。但是我們?nèi)绻胍ㄟ^點擊左邊的目錄來生成一個tab頁并且可以隨時關(guān)閉呢(如下圖)?

vue Tab切換以及緩存頁面處理的幾種方式

只需要給路由一個點擊事件,把你的路由地址保存到一個列表,渲染成另一個平鋪的tab目錄即可

假設(shè)你的布局是這樣,左邊的目錄,上邊的tab,有字的是頁面

vue Tab切換以及緩存頁面處理的幾種方式

<menu> <menu-item v-for='(item,index) in menuList' :key='index' @click='addToTabList(item.path)'> <router-link :to='item.path'>{{item.name}}</router-link> <menu-item></menu>

<template> <menu />//menu代碼部分如上 <div class='right'> <tab-list> <tab-item v-for='(item,index) in tabList' :key='index'><router-link :to='item.path'>{{item.name}}</router-link><icon @click='deleteTab'></icon> </tab-item> </tab-list> <page-view> <router-view></router-view>//這里是頁面展示 </page-view> </div></template>

以上代碼并非實際代碼,只提供一個大概的思路。至于addToTabList和deleteTab怎么做就是數(shù)組方法的簡單push和splice操作了。為了效果好看,我們可能還需要一些tab的active樣式,這里不作演示。

3.緩存組件

僅僅是做tab切換,遠遠是不夠的,畢竟大家想要tab頁就是要來回切換操作,我們需要保存他在不同tab里操作的進度,比如說填寫的表單信息,或者已經(jīng)查詢好的數(shù)據(jù)列表等。那么我們要怎么緩存組件呢?只需要用到vue中的keep-alive組件

3.1 keep-alive <keep-alive>是Vue的內(nèi)置組件,能在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復渲染DOM。 <keep-alive> 包裹動態(tài)組件時,會緩存不活動的組件實例,而不是銷毀它們。 <keep-alive> 與 <transition>相似,只是一個抽象組件,它不會在DOM樹中渲染(真實或者虛擬都不會),也不在父組件鏈中存在,比如:你永遠在 this.$parent 中找不到 keep-alive 。

注:不能使用keep-alive來緩存固定組件,會無效

//無效<keep-alive> <my-component></my-component></keep-alive>3.2 使用

3.2.1 老版本vue 2.1之前的使用

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

需要在路由信息里面設(shè)置router的元信息meta

export default new Router({ routes: [ { path: ’/a’, name: ’A’, component: A, meta: {keepAlive: false // 不需要緩存 } }, { path: ’/b’, name: ’B’, component: B, meta: {keepAlive: true // 需要被緩存 } } ]})

3.2.2 比較新而且簡單的用法

直接緩存所有組件/路由

<keep-alive> <router-view/></keep-alive><keep-alive> <component :is='view'></component></keep-alive>

使用include來處理需要緩存的組件/路由include有幾種用法,可以是數(shù)組,字符串用標點隔開,也可以是正則,使用正則的時候需要使用v-bind來綁定。

<keep-alive include='[’a’,’b’]'>//緩存name為a,b的組件<keep-alive include ='a,b'>//緩存name為a,b的組件<keep-alive :include='/^store/'>//緩存name以store開頭的組件 <router-view/>//可以為router-view <component :is='view'></component>//也可以是動態(tài)組件</keep-alive>

使用exclude來排除不需要緩存的路由跟include正好相反,在exclude里的組件不會被緩存。用法類似,不作贅述

3.2.3 一種比較奇怪的情況當頁面跳轉(zhuǎn)方式有A->C和B->C兩種,但是我們從A到C的時候,不需要緩存,從B到C的時候需要緩存。這時候就要用到路由的鉤子結(jié)合老版本用法來實現(xiàn)了。

export default { data() { return {}; }, methods: {}, beforeRouteLeave(to, from, next) { to.meta.keepAlive = false; // 讓下一頁不緩存 next(); }};

export default { data() { return {}; }, methods: {}, beforeRouteLeave(to, from, next) { // 設(shè)置下一個路由的 meta to.meta.keepAlive = true; //下一頁緩存 next(); }};3.3 緩存組件的生命周期函數(shù)

緩存組件第一次打開的時候,和普通組件一樣,也需要執(zhí)行created, mounted等函數(shù)。但是在被再次激活和被停用時,這幾個普通組件的生命周期函數(shù)都不會執(zhí)行,會執(zhí)行兩個比較獨特的生命周期函數(shù)。

activated

這個會在緩存的組件重新激活時調(diào)用

deactivated

這個會在緩存的組件停用時調(diào)用

以上就是vue Tab切換以及緩存頁面處理的幾種方式的詳細內(nèi)容,更多關(guān)于vue Tab切換以及緩存頁面處理的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费在线观看一区| 香蕉成人久久| 亚洲精品大片| 中文字幕亚洲在线观看| 午夜在线精品| 欧美在线影院| 国产精品日韩| 久久麻豆精品| 欧美日韩国产一区精品一区| 久久中文字幕二区| 亚洲二区在线| 欧美日韩视频| 老司机久久99久久精品播放免费| 午夜宅男久久久| 日本亚州欧洲精品不卡| 97久久亚洲| 美女国产一区二区三区| 国产一区国产二区国产三区 | 夜夜精品视频| 蜜桃免费网站一区二区三区| 欧美在线亚洲| 日韩精品免费视频人成| 国产日韩欧美一区在线| 国产精品亚洲片在线播放| 麻豆久久一区| 岛国av在线网站| 91精品国产乱码久久久久久久| 久久中文字幕av| 亚洲精品黄色| 精品国产99| 日韩精品dvd| 视频一区中文字幕国产| 91精品国产自产观看在线| 国产精品亚洲二区| 黄色在线观看www| 婷婷激情一区| 蜜桃视频一区二区三区| 欧美日韩一区二区三区四区在线观看 | 国产美女高潮在线观看| 欧美日韩中文一区二区| 中文不卡在线| 久久三级毛片| 亚洲午夜电影| 日本不卡不码高清免费观看| 久久精品一区二区国产| 久久青草久久| 日韩av资源网| 国产粉嫩在线观看| 亚洲欧美日韩国产一区| 日本成人在线网站| 精品三级在线观看视频| 亚洲二区精品| 国产精品自拍区| 亚洲福利免费| 国产精品一站二站| 久久国产电影| 国产视频网站一区二区三区| 偷拍精品精品一区二区三区| 午夜电影一区| 卡一精品卡二卡三网站乱码| 五月天久久网站| 国产精品一区三区在线观看| 日本a级不卡| 日韩高清国产一区在线| 亚洲午夜电影| 欧美日韩一二| 91亚洲无吗| 欧美国产日韩电影| 亚洲91网站| 欧美xxxx性| 国产日韩一区二区三区在线播放| 日韩一区二区三区免费视频| 国产毛片一区二区三区| 亚洲在线观看| 国产精品普通话对白| 亚洲自拍另类| 久久精品福利| 欧美日韩在线精品一区二区三区激情综合| 精品视频黄色| 亚洲自拍另类| 精品三区视频| 亚洲精品第一| 国产 日韩 欧美一区| 日本少妇一区二区| 成人精品亚洲| 日韩一区二区中文| 日韩精品欧美精品| 九九精品调教| 欧美aa在线视频| 国产成人精品亚洲日本在线观看| 香蕉精品久久| 蜜桃视频一区二区| 久久免费高清| 激情欧美国产欧美| 免费久久99精品国产自在现线| 奶水喷射视频一区| 国产高清精品二区| 丝袜av一区| 日韩一区二区三区四区五区| 麻豆一区二区三| 欧美亚洲三级| 麻豆精品久久久| 精品国产亚洲一区二区在线观看| 四虎精品一区二区免费| 日韩中文首页| 最新中文字幕在线播放| 91精品xxx在线观看| 日韩不卡一区二区三区 | 国产91精品对白在线播放| 国产精品nxnn| 丝袜美腿一区二区三区| 亚洲黄色中文字幕| 亚洲免费专区| 久久久久久美女精品| 国产精品xxx| 一区二区三区四区精品视频| 激情久久中文字幕| 久久精品99国产精品日本| 久久精品九色| 亚洲精品国产精品粉嫩| 波多野结衣一区| 国产亚洲精品美女久久| 国产精品最新自拍| 99视频精品全国免费| 91免费精品| 欧美成人基地| 精品视频一区二区三区四区五区| 国产精品日本一区二区不卡视频| 国产精品v日韩精品v欧美精品网站| 日韩大片在线播放| 日韩欧乱色一区二区三区在线| 国产成人黄色| 国产美女撒尿一区二区| 成人av动漫在线观看| 日韩精品亚洲专区在线观看| 夜夜嗨网站十八久久| 国产一区二区高清| 婷婷激情综合| 韩国精品主播一区二区在线观看 | 亚洲a级精品| 国产亚洲欧美日韩精品一区二区三区 | 久久精品国产免费| 久久久久久黄| 亚洲激情av| 你懂的国产精品| 国产精品777777在线播放| 色婷婷成人网| 日韩av在线播放中文字幕| 亚洲精品精选| 国产欧美日韩一级| 日韩精品三级| 青青青国产精品| 久久先锋影音| 日韩大片在线| 黄色av一区| 麻豆精品av| 欧美日韩国产探花| 中文字幕日本一区| 国产精品亚洲综合在线观看| 日韩欧美不卡| 色综合视频一区二区三区日韩 | 欧美亚洲日本精品| 亚洲日产av中文字幕| 一二三区精品| 国产精品毛片久久久| 免费看av不卡| 午夜一区在线| 青青草国产成人99久久| 高清在线一区| 欧美日韩一二三四| 亚洲精品成a人ⅴ香蕉片| 好吊日精品视频| 蜜臀av国产精品久久久久| 国产精品午夜一区二区三区| 成人看片网站| 日精品一区二区三区| 成人台湾亚洲精品一区二区| 伊人影院久久| 国产剧情一区二区在线观看| 99精品视频在线观看免费播放| 日韩精品一级中文字幕精品视频免费观看| 日本h片久久| 国产一区清纯| 青青青国产精品| 久久久精品午夜少妇| 亚洲2区在线| 国产成人精品999在线观看| 亚洲欧美日韩国产一区| 欧美精品91| 亚洲欧美日本日韩| 久久精品国产免费| 精品1区2区3区4区| 国产精品白浆| 亚洲免费高清| 久久久久黄色| 亚洲伊人影院| 色综合www| 日韩av一区二区在线影视| 欧美日韩国产观看视频| 日韩中文一区二区|