VUE class 動態class方法

2021-10-04 12:03:50 字數 1514 閱讀 8677

操作元素的 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...