使用vue.js寫一個(gè)tab選項(xiàng)卡

通常我們寫tab選項(xiàng)卡的時(shí)候,一般都是用jq等去操作dom,給同級(jí)元素移除active類,然后,給被點(diǎn)擊元素添加active類,但是在vue.js中,我們能不去操作dom我們就盡量不操作dom,那么該如何實(shí)現(xiàn)呢?
  如果使用過vue-router,那么你會(huì)發(fā)現(xiàn),vue-router在使用的時(shí)候其實(shí)就相當(dāng)于一個(gè)tab選項(xiàng)卡,在點(diǎn)擊之后,被點(diǎn)擊的router-link元素會(huì)默認(rèn)被添加上一個(gè)router-link-active的類,我們只需要設(shè)置這個(gè)類的樣式即可.(當(dāng)然,router-link-active)是vue-router默認(rèn)的類名,你可以自己配置更改名稱.這樣我們可以直接使用vue的路由功能當(dāng)tab選項(xiàng)卡使用了.那么如果不想用路由功能呢?
  那么請(qǐng)看下面的方法:
html部分

<div id="app">
    <ul>        
        <li @click="toggle(index ,tab.view)" v-for="(tab,index) in tabs" :class="{active:active===index}">
              {{tab.type}}       
         </li>    
    </ul>   
   <component :is="currentView"></component>
</div>

js部分

Vue.component('child1', { 
 template: "<p>this is child1</p>"
})
Vue.component('child2', { 
 template: "<p>this is child2</p>"
})
new Vue({ 
 el: "#app", 
 data: {   
 active: 0, 
 currentView: 'child1',   
 tabs: [   
   {       
       type: 'tab1',   
       view: 'child1'  
    },     
   {       
       type: 'tab2',    
      view: 'child2'    
    }  
  ]  
}, 
 methods: {  
  toggle(i, v){    
  this.active = i   
   this.currentView = v  
  } 
 }
})

然后我們只需要設(shè)置一個(gè).active的樣式就可以了,比如設(shè)置一個(gè)最簡(jiǎn)單的
css

.active{
  color:red
}

簡(jiǎn)易的vue.js tab 選項(xiàng)卡

  原理很簡(jiǎn)單,我們給tab選項(xiàng)綁定了toggle方法,點(diǎn)擊時(shí)讓active等于其index,從而給其添加了一個(gè)active類,而顯示的內(nèi)容也是同樣的原理.比起傳統(tǒng)操作dom方法熙暴,這個(gè)整體看上去更簡(jiǎn)潔,不過麻煩在每個(gè)tab選項(xiàng)卡都是一個(gè)組件.
原文鏈接:[http://www.noob6.com/archives/14]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蛉艾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖瞧剖,帶你破解...
    沈念sama閱讀 221,331評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驼卖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡开泽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門魁瞪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來穆律,“玉大人,你說我怎么就攤上這事导俘÷驮牛” “怎么了?”我有些...
    開封第一講書人閱讀 167,755評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵趟畏,是天一觀的道長(zhǎng)贡歧。 經(jīng)常有香客問我,道長(zhǎng)赋秀,這世上最難降的妖魔是什么利朵? 我笑而不...
    開封第一講書人閱讀 59,528評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮猎莲,結(jié)果婚禮上绍弟,老公的妹妹穿的比我還像新娘。我一直安慰自己著洼,他們只是感情好樟遣,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著身笤,像睡著了一般豹悬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上液荸,一...
    開封第一講書人閱讀 52,166評(píng)論 1 308
  • 那天瞻佛,我揣著相機(jī)與錄音,去河邊找鬼娇钱。 笑死伤柄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的文搂。 我是一名探鬼主播适刀,決...
    沈念sama閱讀 40,768評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼煤蹭!你這毒婦竟也來了笔喉?” 一聲冷哼從身側(cè)響起取视,我...
    開封第一講書人閱讀 39,664評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎然遏,沒想到半個(gè)月后贫途,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吧彪,經(jīng)...
    沈念sama閱讀 46,205評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡待侵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姨裸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秧倾。...
    茶點(diǎn)故事閱讀 40,435評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖傀缩,靈堂內(nèi)的尸體忽然破棺而出那先,到底是詐尸還是另有隱情,我是刑警寧澤赡艰,帶...
    沈念sama閱讀 36,126評(píng)論 5 349
  • 正文 年R本政府宣布售淡,位于F島的核電站,受9級(jí)特大地震影響慷垮,放射性物質(zhì)發(fā)生泄漏揖闸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評(píng)論 3 333
  • 文/蒙蒙 一料身、第九天 我趴在偏房一處隱蔽的房頂上張望汤纸。 院中可真熱鬧,春花似錦芹血、人聲如沸贮泞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啃擦。三九已至,卻和暖如春饿悬,著一層夾襖步出監(jiān)牢的瞬間令蛉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工乡恕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留言询,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,818評(píng)論 3 376
  • 正文 我出身青樓傲宜,卻偏偏與公主長(zhǎng)得像运杭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子函卒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容