操作元素的class列表和內聯樣式是資料繫結的乙個常見需求,因為他們都是attribute,所以我們可以用v-bind
來處理他們
物件語法通過v-bind:class
,借助data或計算屬性,來動態改變某個class是否存在
lang
="en"
>
>
charset
="utf-8"
/>
name
="viewport"
content
="width=device-width, initial-scale=1.0"
/>
>
documenttitle
>
src=
"">
script
>
>
.active,
.active2,
.active3
style
>
head
>
>
>
v-bind:class
="classobject"
>
我是divdiv
>
div>
>
let vm =
newvue
(// }
// data:
// }
data:
function()
},computed:}}
})script
>
body
>
html
>
陣列語法把乙個陣列傳給v-bind:class
,以應用乙個class列表,進而借助這個class列表來動態修改class。
>
v-bind:class
="[classone,classtwo]"
>
我是divdiv
>
div>
>
let vm =
newvue(}
})script
>
如果你也想根據條件切換列表中的 class,可以用三元表示式:
這樣寫將始終新增errorclass
,但是只有在isactive
是 truthy時才新增activeclass
。
不過,當有多個條件 class 時這樣寫有些繁瑣。所以在陣列語法中也可以使用物件語法:
v-bind:class
="[, errorclass]"
>
div>
用在元件上自定義元件的初始模板上的class不會被覆蓋,後續新增的class會增加物件語法
類似於class的物件語法直接繫結到乙個樣式物件通常更好,這會讓模板更清晰:
v-bind:
style
="styleobject
">
div>
data:
}
同樣的,物件語法常常結合返回物件的計算屬性使用。
陣列語法
v-bind:style
的陣列語法可以將多個樣式物件應用到同乙個元素上:
v-bind:
style
="[basestyles, overridingstyles]
">
div>
自動新增字首當多重值v-bind:style
使用需要新增瀏覽器引擎字首的 css property 時,如transform
,vue.js 會自動偵測並新增相應的字首。
從 2.3.0 起你可以為style
繫結中的 property 提供乙個包含多個值的陣列,常用於提供多個帶字首的值,例如:
:style=""
>
div>
這樣寫只會渲染陣列中最後乙個被瀏覽器支援的值。在本例中,如果瀏覽器支援不帶瀏覽器字首的 flexbox,那麼就只會渲染display: flex
。 vue class繫結與style繫結
物件語法 物件中有乙個屬性 我們可以傳給 v bind class 乙個物件,以動態地切換 class 上面的語法表示 classactive 的更新將取決於資料屬性 isactive 是否為真值 物件中有多個屬性 我們也可以在物件中傳入更多屬性用來動態切換多個 class 此外,v bind cl...
vue class繫結與style繫結
物件語法 物件中有乙個屬性 我們可以傳給 v bind class 乙個物件,以動態地切換 class 上面的語法表示 classactive 的更新將取決於資料屬性 isactive 是否為真值 物件中有多個屬性 我們也可以在物件中傳入更多屬性用來動態切換多個 class 此外,v bind cl...
vue Class與Style的資料繫結
1.傳給 v bind class 乙個物件,以動態地切換 class data 渲染結果 2.把乙個陣列傳給 v bind class,以應用乙個 class 列表 data 渲染為 3.陣列中直接在結構中判斷 三元判斷 data 結果 4.在陣列語法中也可以使用物件語法 一般用在多個條件 cla...