Vue中Class與Style繫結

2022-09-18 14:12:15 字數 1692 閱讀 2890

操作元素的class列表和內聯樣式是資料繫結的乙個常見需求。因為它們都是屬性,所以我們可以使用v-bind處理它們:只需要通過表示式計算出字串結果即可。不過拼接字串比較麻煩,因此在v-bind用於class和style時,vue做了專門的增強,表示式結果的型別除了字串之外,還可以是物件和陣列。

(1)物件語法

可以給v-bind:class乙個物件,以動態切換class:

如上表示active這個class存在與否將取決於資料屬性isactive。

也可以在物件中傳入更多屬性來動態切換多個class。此外,v-bind指令也可以與普通的class共存:

繫結的資料物件不必內聯定義在模板裡面:

data:

}

我們也可以在這裡繫結乙個返回物件的計算屬性,這是乙個強大的模式:

data: ,

computed:

}}

(2)陣列語法

我們可以把乙個陣列傳給v-bind:class,以應用乙個class列表:

data:

如果想根據條件切換列表中的class。可以用三元表示式:

當有多個條件class時這樣寫有些繁瑣,所以在陣列語法中也可以使用物件語法:

(3)用在元件上

當在乙個自定義元件上使用class屬性時,這將被新增到該元件的根元素上面。這個元素上已經存在的類不會被覆蓋。

vue.component('comp', )
然後在使用它的適合新增一些class:

(1)物件語法

v-bind:style物件語法十分直觀--看著像css,其實是乙個j**ascript物件。css屬性名可以用駝峰式或短橫線分隔(記得用單引號括起來):

data:

直接繫結到乙個樣式物件通常更好,這會讓模板更清晰:

data:

}

(2)陣列語法

v-bind:style的陣列語法可以將多個樣式物件應用到同乙個元素:

(3)自動新增字首

當v-bind:style使用需要新增瀏覽器引擎字首的css屬性時,vue會自動偵測並新增相應的字首。

(4)多重值

從2.3.0起可以為style繫結中的屬性提供乙個包含多個值的陣列,常用於多個帶字首的值:

Vue入門 Class 與 Style 繫結

class static class div 可將物件繫結在class屬性上,動態切換class v bind class與普通class可共存。可繫結data中的物件,或計算屬性。class activeclass,errorclass div data 在陣列中巢狀表示式 class activ...

Vue學習 Class與Style繫結

class和style繫結,使用v bind處理,並在v bind上對表示式的結果型別進行了擴充套件,除了字串之外還可以是物件或陣列。1 物件 1 v bind的class可以與普通的class屬性共存 2 v bind的class可以將物件寫入到class中 3 v bind的class可以將物件...

Vue的Class 與 Style 繫結

如果想冬天改變class的樣式,一般有以下幾種寫法 1 物件語法 0 這樣表示當totalcount 0時,highlight這個樣式有效 繫結多個class 和如下 data data 結果渲染為 當isactive或者haserror變化時,class 列表將相應地更新。例如,如果haserro...