目前有一个圆圈图像类,以及一个单选框:
<input type="checkbox"/>
<div class="circle">Hi!</div>若想实现选中单选框时, 为圆圈添加 purple 类来应用css中变成紫色的样式,应该有两步:
- 将 input 标签的值绑定到
isPurple数据上
<input type="checkbox" v-model="isPurple" />- 若
isPurple值为真,则将purple类添加到圆圈上
<div class="circle" :class="{ purple: isPurple}">Hi!</div>这里的 { purple: isPurple} 是一种条件表达式,只有当后者为真时,才会返回前者。
多类添加
上面只能添加一个类,并且很长,我们可以使用computed 方法组 来实现:
computed: {
classes_purple() {
return {
purple: this.isPurple
}
}
}此时在html中将原来的条件表达式改成计算属性值就行。
对于需要添加多个类时,可以使用 []:
<div class="circle" :class="[SelectClasses, classes_purple]">
Hi!
</div>对应的 computed 方法组:
computed: {
classes_purple() {
return {
purple: this.isPurple
}
},
SelectClasses() {
return this.SelectClasses
}
}