操作元素的 class 列表和內聯樣式是資料繫結的乙個常見需求。因為它們都是屬性,所以我們可以用 v-bind 處理它們:只需要通過表示式計算出字串結果即可。不過,字串拼接麻煩且易錯。因此,在將 v-bind 用於 class 和 style 時,vue.js 做了專門的增強。表示式結果的型別除了字串之外,還可以是物件或陣列。
vue官方文件對於class和style繫結有兩種方法,物件語法和陣列語法。
1.繫結 html class物件繫結
我們用傳給v-bind:class
乙個物件,動態切換class 是否存在
;//這裡我們使用isactive
這個變數動態判斷active
是否顯示到html
vue物件裡面
data:
頁面渲染為:
當然我們也可以物件中傳入更多屬性來動態切換多個 class,此外,v-bind:class
指令也可以與普通的 class 屬性共存。
動態切換多個 class
vue物件裡面
data:
頁面渲染為:
`` 動態切換多個 class`
`
對於上面v-bind:class
指令我們也可以傳乙個物件
動態切換多個 class
data:
}
頁面渲染為:
動態切換多個 class
對於動態class繫結我們也可以通過計算屬性返回物件來動態判斷class的繫結值
data: ,
computed:
}
2.繫結 html class陣列語法
除了物件語法繫結class,我們還有一種方法是陣列語法,我們可以把乙個陣列傳給 v-bind:class。
data:
頁面渲染為
我們也可以通過三元表示式來進行判斷切換class:
;
//這裡判斷是如果isactive 為true顯示activeclass
,errorclass,否則只顯示errorclass
對於class繫結當有多個條件 class 時這樣寫有些繁瑣,在陣列語法中也可以使用物件語法,例如如下寫法:
動態class與style 靜態class
好喜歡她呀,喜歡的不得了。應該不會有人看到吧 詳解 通過vue中的v bind來動態繫結標籤的類名與樣式 class home class 物件形式繫結classp class black,yellow 陣列形式動態繫結classp style styledata 動態繫結stylep div te...
動態新增class屬性
首先,我定義三個,單擊後為canvas新增相應的形狀。我是注釋,我是注釋,粘上去灰底黑字好醜好醜,嫌棄臉 以question為例,定義question為乙個菱形,這是 function dispquestionprompt 那麼問題來了,如果我想為動態新增的div再新增class屬性,怎麼辦呢?方法...
Vue 動態賦值 class
vue 在操作 dom 元素的 class 屬性時,有以下多種方法 通過以下 class 的方式可以決定該元素是否擁有名稱為show的 class class watch mooc panel class div template type text ecmascript 6 export defa...