Vue class 是 Vue 的一個非常重要的屬性,它可以控制元素的 class,且支持綁定到一個對象或數(shù)組上。其中,數(shù)組中的一個類名可以控制多個元素的 class。
?
在上面的代碼中,我們定義了一個Vue實例和兩個數(shù)據(jù)屬性:isRed 和 green。然后,在 div 元素上使用了 :class 綁定,類名由三個表達式構(gòu)成。
?第一個表達式[{red: isRed}] 是對象語法,意思是,如果 isRed 為真則添加一個類名為 red 的 class。
?第二個表達式 green 是一個綁定到 Vue 實例 data 屬性上的字符串,它將 div 元素添加一個類名為 bg-green 的 class。
?第三個表達式是一個字面值 'font-weight-bold',將 div 元素添加一個類名為 font-weight-bold 的 class。
?此外,我們還給 div 元素添加了一個 @click 事件處理函數(shù) toggleRed,當(dāng)點擊 div 元素時將 isRed 取反,即添加或移除類名為 red 的 class。
?這樣,在初始化 Vue 實例時,div 元素的 class 樣式就會被設(shè)置為 'green font-weight-bold'。當(dāng)點擊 div 元素時,isRed 的值被取反,于是 div 元素的 class 樣式就變成了 'red bg-green font-weight-bold'。
?此外,我們還可以通過數(shù)組語法控制多個元素的 class 樣式,如下所示:
?
在上面的代碼中,我們定義了兩個 div 元素,第一個使用了前面提到的綁定表達式,并且沒有添加 @click 事件處理函數(shù)。第二個 div 元素使用了一個數(shù)組語法,類名由 redClass 和 greenClass 組成,分別控制兩個 div 元素的樣式。
?注意,redClass 和 greenClass 的值只需要是字符串或?qū)ο缶托辛耍呐率且粋€函數(shù)表達式也可以,且每個元素可以有多個類。
?綜上所述,Vue class 提供了一種靈活的方式來控制元素的 class 樣式,可以動態(tài)綁定到一個對象或數(shù)組上,通過條件渲染、計算屬性等方式實現(xiàn)多樣化的樣式效果。