vue實(shí)現(xiàn)tab切換的3種方式及切換保持?jǐn)?shù)據(jù)狀態(tài)
vue實(shí)現(xiàn)tab切換的3種方式
一、v-show控制內(nèi)容切換
1.簡(jiǎn)單版原理:用點(diǎn)擊事件改變num值作為開關(guān),控制tab樣式和內(nèi)容顯示隱藏。
2.數(shù)據(jù)渲染原理:主要利用v-for綁定的index來控制,跟上面差不多。
二、組件切換。
1。知識(shí)點(diǎn)主要是vue中is的特性,和keep-alive緩存
三、路由切換。(對(duì)地址欄和數(shù)據(jù)請(qǐng)求友好)
通過router-link實(shí)現(xiàn)。
vue tab切換保持?jǐn)?shù)據(jù)狀態(tài)
頁(yè)面做tab切換,由于組件每一次切換都會(huì)重新實(shí)例化組件,我們想要頁(yè)面不論怎么切換都仍然保持tab里面的內(nèi)容不會(huì)刷新,減少頁(yè)面重新渲染以及減少請(qǐng)求
實(shí)現(xiàn)方法:使用<keep-alive></keep-alive>包裹組件
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="記錄"> <keep-alive> <child1 v-if="isChildUpdate"></child1> </keep-alive> </el-tab-pane> </el-tabs>
列表頁(yè)面跳轉(zhuǎn)詳情 ,列表頁(yè)面保持上一次操作狀態(tài)
通過是否加載router-view 和路由元meta設(shè)置頁(yè)面是否需要緩存來實(shí)現(xiàn)
router-view嵌套多層的話,可能要設(shè)置多層,然后通過beforeRouteLeave監(jiān)聽路由離開,設(shè)置是否緩存
//從其他頁(yè)面跳轉(zhuǎn)不需要緩存頁(yè)面 從詳情頁(yè)面回來則需要緩存
總結(jié)
到此這篇關(guān)于vue實(shí)現(xiàn)tab切換的3種方式及切換保持?jǐn)?shù)據(jù)狀態(tài)的文章就介紹到這了,更多相關(guān)vue tab切換方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue使用動(dòng)態(tài)組件實(shí)現(xiàn)TAB切換效果完整實(shí)例
- vue實(shí)現(xiàn)tab欄切換效果
- Vue中的table表單切換實(shí)現(xiàn)效果
- vue+iview?Table表格多選切換分頁(yè)保持勾選狀態(tài)
- vue?router如何實(shí)現(xiàn)tab切換
- vue實(shí)現(xiàn)鼠標(biāo)滑動(dòng)展示tab欄切換
- Vue實(shí)現(xiàn)選項(xiàng)卡tab切換制作
- vue實(shí)現(xiàn)tab路由切換組件的方法實(shí)例
- Vue實(shí)現(xiàn)tab切換的兩種方法示例詳解
相關(guān)文章
解決vue單頁(yè)面應(yīng)用進(jìn)入頁(yè)面加載所有 js 的問題
這篇文章主要介紹了解決vue單頁(yè)面應(yīng)用進(jìn)入頁(yè)面加載所有 js 的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08vue+element-ui動(dòng)態(tài)生成多級(jí)表頭的方法
今天小編就為大家分享一篇vue+element-ui動(dòng)態(tài)生成多級(jí)表頭的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08vue使用Vue.extend創(chuàng)建全局toast組件實(shí)例
這篇文章主要介紹了vue使用Vue.extend創(chuàng)建全局toast組件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03