vue.js實(shí)現(xiàn)選項(xiàng)卡切換
因?yàn)榍岸苏n要交一個(gè)大作業(yè),剛好工作室的項(xiàng)目需要一個(gè)后臺管理界面,就自學(xué)了一下vue,今天做了一個(gè)選項(xiàng)卡切換,最開始的作為菜雞是用的js做的,太難了T.T,后面學(xué)了bootstrap就直接用的組件。今天用了感覺太棒了!比bootstrap的組件好用?。?!
一、實(shí)現(xiàn)原理
我是用的點(diǎn)擊事件進(jìn)行更改data數(shù)據(jù)的值,v-if指令根據(jù)數(shù)據(jù)的變化來顯示/隱藏內(nèi)容的
1、設(shè)置1個(gè)content數(shù)組,用來存儲6個(gè)選項(xiàng)內(nèi)容是否顯示的boolean值,默認(rèn)第一個(gè)顯示
new Vue({ ? el:".body", ? ? data:{ ? ? a:123, ? ? content:[true,false,false,false,false,false] ? } }
2、在選項(xiàng)內(nèi)容中使用v-if指令
<div class="main-content h-100"> ? ? <div v-show="content[0]" class="h-100 bg-warning" id="item-user"> ? ? ? ? 用戶中心 ? ? <div v-show="content[1]" class="h-100" id=""> ? ? ? ? 內(nèi)容管理 ? ? </div> ? ? <div v-show="content[2]" class="h-100" id=""> ? ? ? ? ?消息推送 ? ? </div> ? ? <div v-show="content[3]" class="h-100" id=""> ? ? ? ? ? 數(shù)據(jù)統(tǒng)計(jì) ? ? </div> ? ? <div v-show="content[4]" class="h-100" id=""> ? ? ? ? ? 運(yùn)營 ? ? ?</div> ? ? ?<div v-show="content[5]" class="h-100" id=""> ? ? ? ? ? 后臺管理賬戶,權(quán)限 ? ? ?</div> </div>
3、在methods中寫一個(gè)點(diǎn)擊事件,根據(jù)事件的參數(shù),把相應(yīng)位置的content值為true,其他置為false
這里遇到一個(gè)錯(cuò)誤,直接賦值會無效,因?yàn)閐ata中的數(shù)組不能夠通過下標(biāo)直接更改數(shù)組中的數(shù)據(jù),要通過this.$set(this.arr,index,newVal);方法來設(shè)置,或者直接賦值新數(shù)組
new Vue({ ? ? ? ? el:".body", ? ? ? ? data:{ ? ? ? ? ? ? a:123, ? ? ? ? ? ? content:[true,false,false,false,false,false] ? ? ? ? }, ? ? ? ? methods:{ ? ? ? ? ? ? switchItem:function (item) { ? ? ? ? ? ? ? ? console.log(item) ? ? ? ? ? ? ? ? for (let i = 0; i <6; i++) { ? ? ? ? ? ? ? ? ? ? if(i==item){ ? ? ? ? ? ? ? ? ? ? ? ? this.$set(this.content,i,true); ? ? ? ? ? ? ? ? ? ? } else{ ? ? ? ? ? ? ? ? ? ? ? ? this.$set(this.content,i,false); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ?})
4、選項(xiàng)綁定點(diǎn)擊事件
<ul class="list-unstyled left-ul"> ? <li class="bg-warning nav-item"><a @click="switchItem (0)" href="#person">用戶中心</a></li> ? <li class="bg-info "><a @click="switchItem (1)" href="#content">內(nèi)容管理</a></li> ? <li class="bg-dark "><a @click="switchItem (2)" href="#notification">消息推送</a></li> ? <li class="bg-success "><a @click="switchItem (3)" href="#data">數(shù)據(jù)統(tǒng)計(jì)</a></li> ? <li class="bg-warning "><a @click="switchItem (4)" href="#operate">運(yùn)營</a></li> ? <li class="bg-info"><a @click="switchItem (5)" href="#system">系統(tǒng)設(shè)置</a></li> </ul>
二、實(shí)現(xiàn)效果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue實(shí)現(xiàn)Tab選項(xiàng)卡切換
- vue選項(xiàng)卡切換登錄方式小案例
- Vue.js組件實(shí)現(xiàn)選項(xiàng)卡以及切換特效
- vue實(shí)現(xiàn)選項(xiàng)卡及選項(xiàng)卡切換效果
- Vue.js tab實(shí)現(xiàn)選項(xiàng)卡切換
- vue中用動態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果
- vue動態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果
- Vue.js組件tab實(shí)現(xiàn)選項(xiàng)卡切換
- Vue.js組件tabs實(shí)現(xiàn)選項(xiàng)卡切換效果
- Vue實(shí)現(xiàn)選項(xiàng)卡tab切換制作
相關(guān)文章
uniapp+vue3路由跳轉(zhuǎn)傳參的實(shí)現(xiàn)
本文主要介紹了uniapp+vue3路由跳轉(zhuǎn)傳參的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11vue2的todolist入門小項(xiàng)目的詳細(xì)解析
本篇文章主要介紹了vue2的todolist入門小項(xiàng)目的詳細(xì)解析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05vue-cli項(xiàng)目根據(jù)線上環(huán)境分別打出測試包和生產(chǎn)包
這篇文章主要介紹了vue-cli項(xiàng)目根據(jù)線上環(huán)境打出測試包和生產(chǎn)包的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05vue.js響應(yīng)式原理解析與實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了vue.js響應(yīng)式原理解析與實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08vue-router動態(tài)路由實(shí)現(xiàn)前端權(quán)限管理方式
這篇文章主要介紹了vue-router動態(tài)路由實(shí)現(xiàn)前端權(quán)限管理方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10