更新時(shí)間:2022年08月19日17時(shí)31分 來源:傳智教育 瀏覽次數(shù):
在實(shí)際開發(fā)中經(jīng)常會(huì)遇到動(dòng)態(tài)操作元素樣式的需求。因此,vue 允許開發(fā)者通過 v-bind 屬性綁定指令,為元素動(dòng)態(tài)綁定 class 屬性的值和行內(nèi)的 style 樣式。
可以通過三元表達(dá)式,動(dòng)態(tài)的為元素綁定 class 的類名。示例代碼如下:
<h3 class="thin" :class="isItalic?'italic': ">MyDeep組件</h3> <button @click="isItalic=!isItalic">Toggle Italic</button> data() { return { isItalic: true } } .thin{ // 字體變細(xì) font-weight:200; } .italic{ // 傾斜字體 font-style: italic; }
如果元素需要?jiǎng)討B(tài)綁定多個(gè) class 的類名,此時(shí)可以使用數(shù)組的語(yǔ)法格式:
<h3 class="thin" :class="[isItalic ? 'italic' : '", isDelete ? 'delete' : '"]"> MyDeep 組件 </h3> <button @click="isItalic=!isItalic">Toggle Italic</button> <button @click="isDelete=!isDelete">Toggle Delete</button> data(){ return { isItalic: true, isDelete: false, } }
使用數(shù)組語(yǔ)法動(dòng)態(tài)綁定 class 會(huì)導(dǎo)致模板結(jié)構(gòu)臃腫的問題。此時(shí)可以使用對(duì)象語(yǔ)法進(jìn)行簡(jiǎn)化:
<h3 class="thin" :class="class0bj">MyDeep 組件</h3> <button @click="class0bj.italic = !class0bj.italic">Toggle Italic</button> <button @click="class0bj.delete = !class0bj.delete">Toggle Delete</button> data(){ return { classobj:{ //對(duì)象中,屬性名是class 類名,值是布爾值 italic: true, delete: false, } } }
4. 以對(duì)象語(yǔ)法綁定內(nèi)聯(lián)的 style
:style 的對(duì)象語(yǔ)法十分直觀——看著非常像 CSS,但其實(shí)是一個(gè) JavaScript 對(duì)象。CSS property 名可以用駝峰式 (camelCase) 或短橫線分隔 (kebab-case,記得用引號(hào)括起來) 來命名:
<div :style="{color: active, fontSize: fsize + 'px','background-color': bgcolor}"> 黑馬程序員 </div> <button @click="fsize += 1">字號(hào) +1</button> <button @click="fsize -= 1">字號(hào) -1</button> data() { return { active: 'red', fsize: 30, bgcolor:'pink', } }
Web前端培訓(xùn):移動(dòng)端頁(yè)面布局
2022-08-09HTML&JS+前端2022年學(xué)習(xí)線路圖【含資料】
2022-08-04Web前端知識(shí)培訓(xùn):視口是什么意思?
2022-07-29網(wǎng)絡(luò)協(xié)議與體系結(jié)構(gòu):網(wǎng)絡(luò)層的作用是什么?
2022-07-28如何實(shí)現(xiàn)單頁(yè)面應(yīng)用效果?單頁(yè)面應(yīng)用有哪些優(yōu)勢(shì)?
2022-07-28什么是ionic?ionic框架的主要結(jié)構(gòu)是怎樣的?
2022-07-28北京校區(qū)