数据绑定的一个常见需求场景是操纵元素的 CSS class 列表和内联样式。因为 class 和 style 都是 attribute,我们可以和其他 attribute 一样使用 v-bind 将它们和动态的字符串绑定。但是,在处理比较复杂的绑定时,通过拼接生成字符串是麻烦且易出错的。因此,Vue 专门为 class 和 style 的 v-bind 用法提供了特殊的功能增强。除了字符串外,表达式的值也可以是对象或数组。
一、绑定Class
<div class="item" :class="{ active: activeIndex == index }" v-for="(item, index) in students" @click="itemClick(index)">
学生编号:{{ item.id }}
学生姓名:{{ item.name }}
</div>
css
<style>
.item {
background-color: rgb(180, 180, 180);
padding: 20px;
border-bottom: 1px solid red;
transition: all ease 1s;
}
.item.active {
background-color: red;
color: white;
font-size: 20px;
}
</style>
js
<script>
export default {
data() {
return {
students: [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' },
{ id: 4, name: '赵六' },
],
activeIndex: -1
}
},
methods: {
itemClick(e) {
console.info(e);
this.activeIndex = e;
}
}
}
</script>
二、绑定内联样式,绑定style
<div class="item" :style="{ color: activeIndex == index?'red':'blue' }" v-for="(item, index) in students" @click="itemClick(index)">
学生编号:{{ item.id }}
学生姓名:{{ item.name }}
</div>
<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
更多:






![[Linux]在vim中批量注释与批量取消注释](https://i-blog.csdnimg.cn/direct/a9702fbb4f134e3b94fe43a4196d949a.png)


![[操作系统,学习记录]3.进程(2)](https://i-blog.csdnimg.cn/direct/32b20d4d745a487ba7987e7fc96fae65.png)









