官术网_书友最值得收藏!

5.3.1 綁定<html>中class的方式

下面介紹綁定<html>中class的幾種方式。Vue.js對其進行了修改,將以前使用的復雜性轉變成簡單、好學、易掌握。

1.對象語法

對象語法:可以傳給v-bind:class一個對象,以動態地切換class。注意,v-bind:class指令可以與普通的class特性共存。

語法格式如下:

    v-bind:class="{'className1':boolean1,'className2':boolean2}"

示例代碼如下:

運行效果如圖5-13所示。

圖5-13 綁定<html>中class的對象語法效果

提示:當單擊顏色區域時,觸發changeColor方法。數據的值發生變化時,class行間屬性會被切換,如圖5-13所示。

當看到v-bind:class="{'class1':yellow,'class2':red}"這句代碼是不是就想到了直接使用一個對象替代這個鍵值對的寫法,這當然也是可以的。代碼如下:

雖然上述兩種寫法不同,但是達到的效果是相同的。這兩種寫法中,前一種是空間復雜度大一點,后一種是時間復雜度大一點,可以根據具體需求進行應用。

2.數組語法

數組語法:可以把一個數組傳給v-bind:class,以應用一個class列表。

語法格式如下:

    v-bind:Class="[Class1,Class2]"

示例代碼如下:

運行效果如圖5-14所示。

圖5-14 綁定<html>中class的數組語法效果

3.在組件上的使用

下面講解<html>中class綁定在組件上的使用。

代碼如下:

運行效果如圖5-15所示。

圖5-15 在組件上的使用運行效果

這種用法僅適用于自定義組件的最外層是一個根元素的情況,否則會無效。當不滿足這種條件或需要給具體的子元素設置類名時,應當使用組件的props來傳遞。

主站蜘蛛池模板: 曲阜市| 正阳县| 定结县| 玉林市| 航空| 榆树市| 新田县| 白银市| 耿马| 永城市| 南部县| 富源县| 湟中县| 兴安盟| 和顺县| 聂拉木县| 库尔勒市| 鄂托克旗| 石家庄市| 柏乡县| 正定县| 承德县| 张家口市| 黄浦区| 海门市| 喀喇沁旗| 旬邑县| 新野县| 沙河市| 万盛区| 文化| 毕节市| 两当县| 鄂伦春自治旗| 友谊县| 科技| 永胜县| 崇义县| 堆龙德庆县| 扬中市| 武冈市|