vue動(dòng)態(tài)綁定多個(gè)類名方法詳解(:class動(dòng)態(tài)綁定多個(gè)類名)
問題描述:
今天遇到一個(gè)問題,就是 一個(gè)元素要?jiǎng)討B(tài)綁定 兩個(gè)或多個(gè)類名。
固定綁定多個(gè)類名方法:
綁定多個(gè)寫死的類名很簡單方法有如下幾種:
方式一:
class 中間有空格
<div class="active vv">5555555</div>
方式二:
數(shù)組形式 使用 :class 當(dāng)然 直接在data里聲明一個(gè) 變量也可以。
<div :class="['active','vv']">5555555</div>
方式三:
借用一個(gè)方法處理
<div :class="classS()">5555555</div>
methods里定義一個(gè)方法 返回 字符串 和數(shù)組都行
methods:{ classS(){ return ['vv','active']; // return "vv active"; } }
動(dòng)態(tài)綁定多個(gè)類名方法:
其實(shí)動(dòng)態(tài)綁定 和固定 差不多,方式是一樣的,無非就是需要根據(jù)變量來判斷。
以下方式 data 和 樣式代碼如下
data() { return { bb:1, index:1, cc:1 } },
.active{ color:red; } .vv{ font-size:30px; }
方式一:
三目運(yùn)算符,且以數(shù)組形式 。不推薦使用這種方法,如果只有兩個(gè)類名可以使用,多了的話就不好寫 三目運(yùn)算符了。
<div :class="bb==index&&cc==index?['active','vv']:bb==index?'active':cc==index?'vv':''">55555555555</div>
方式二:
以大括號(hào) 形式
<div :class="{active:bb==index,vv:cc==index}">55555555555</div>
方式三:
數(shù)組形式,每個(gè)數(shù)組項(xiàng)里使用 判斷
<div :class="[{active:bb==index},{vv:cc==index}]">55555555555</div>
直接三目也可以
<div :class="[bb==index?'active':'',cc==index?'vv':'']">55555555555</div>
方式四:
用一個(gè)方法搞定
<div :class="classS1()">55555555555</div>
classS1(){ let v = []; if (this.index == this.bb) { v.push("active"); } if (this.index == this.cc) { v.push("vv") } return v; }
總結(jié):
方式一:
優(yōu)點(diǎn): 寫法簡單
缺點(diǎn):寫兩個(gè) 以上類名時(shí) 無法寫 且不利于閱讀
方式二:
優(yōu)點(diǎn): 寫法簡單
缺點(diǎn):當(dāng)多個(gè)時(shí) 也不利于閱讀
方式三:
優(yōu)點(diǎn): 寫法簡單
缺點(diǎn):當(dāng)多個(gè)時(shí) 也不利于閱讀
方式四:
優(yōu)點(diǎn): 寫法簡單 ,利于閱讀 ,而且可以添加 很多 判斷
缺點(diǎn):無
如果是 兩個(gè)及兩個(gè)以下 方式一、方式二、方式三、方式四都可以 。
如果是 兩個(gè)以上 方式二、方式三、方式四 這個(gè) 我建議還是 用方式四 看起來很清爽。
在線示例:
到此這篇關(guān)于vue動(dòng)態(tài)綁定多個(gè)類名方法的文章就介紹到這了,更多相關(guān)vue :class動(dòng)態(tài)綁定多個(gè)類名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于vue-cli-service:command?not?found報(bào)錯(cuò)引發(fā)的實(shí)戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于vue-cli-service:command?not?found報(bào)錯(cuò)引發(fā)的相關(guān)資料,文中通過實(shí)例代碼將解決的過程介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-02-02第一次在Vue中完整使用AJAX請(qǐng)求和axios.js的實(shí)戰(zhàn)記錄
AJAX是現(xiàn)代Web開發(fā)的一個(gè)關(guān)鍵部分,盡管它一開始看起來令人生畏,但在你的武庫中擁有它是必須的,下面這篇文章主要給大家介紹了關(guān)于第一次在Vue中完整使用AJAX請(qǐng)求和axios.js的相關(guān)資料,需要的朋友可以參考下2022-11-11在vue中獲取微信支付code及code被占用問題的解決方法
這篇文章主要介紹了在vue中獲取微信支付code及code被占用問題的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-04-04vue使用html2canvas實(shí)現(xiàn)將DOM節(jié)點(diǎn)生成對(duì)應(yīng)的PDF
這篇文章主要為大家詳細(xì)介紹了vue如何使用html2canvas實(shí)現(xiàn)將DOM節(jié)點(diǎn)生成對(duì)應(yīng)的PDF,文中的示例代碼簡潔易懂,感興趣的小伙伴可以學(xué)習(xí)一下2023-08-08