网站首页 > 知识剖析 正文
在实际开发中经常会遇到动态操作元素样式的需求。因此,vue 允许开发者通过 v-bind 属性绑定指令,为元素动态绑定 class 属性的值和行内的 style 样式。
1. 动态绑定 HTML 的 class
可以通过三元表达式,动态的为元素绑定 class 的类名。示例代码如下:
<h3 class="thin" :class="isItalic?'italic': ">MyDeep组件</h3>
<button @click="isItalic=!isItalic">Toggle Italic</button>
data() {
return { isItalic: true }
}
.thin{ // 字体变细
font-weight:200;
}
.italic{ // 倾斜字体
font-style: italic;
}
2. 以数组语法绑定 HTML 的 class
如果元素需要动态绑定多个 class 的类名,此时可以使用数组的语法格式:
<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,
}
}
3. 以对象语法绑定 HTML 的 class
使用数组语法动态绑定 class 会导致模板结构臃肿的问题。此时可以使用对象语法进行简化:
<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:{ //对象中,属性名是class 类名,值是布尔值
italic: true,
delete: false,
}
}
}
4. 以对象语法绑定内联的 style
:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。CSS property 名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名:
<div :style="{color: active, fontSize: fsize + 'px','background-color': bgcolor}">
黑马程序员
</div>
<button @click="fsize += 1">字号 +1</button>
<button @click="fsize -= 1">字号 -1</button>
data() {
return {
active: 'red',
fsize: 30,
bgcolor:'pink',
}
}
猜你喜欢
- 2024-11-15 不容忽视的 8 个 DOM API(dom based)
- 2024-11-15 WebAPI详细解说【思维导图】(webapi视频教程)
- 2024-11-15 Windows端口转发小工具(window 端口转发)
- 2024-11-15 “万能”箭头函数?你可能要失望了
- 2024-11-15 React-鼠标事件处理(react doubleclick)
- 2024-11-15 深入了解 LocalStorage:JavaScript 中的数据存储利器
- 2024-11-15 JavaScript-浏览器兼容的脚本化class操作
- 2024-11-15 Bootstrap在React中的实现,易于使用的React组件——Reactstrap
- 2024-11-15 Vue3.0新特性探索(vue3.0新特性的typescript)
- 2024-11-15 超简单的网站暗黑模式,它真的超简单
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)