HTML文件:
<div v-for="(item,index) in collimatorlist" v-bind:key="item.id" class="listchoice">
<div class="choice" :class="active==index ? 'activeClass1' : 'activeClass2'"
@click="isClick(index)">
<div class="underline">
<span class="number">{{item.number}}</span>
</div>
<div class="millimeter">
<span class="millimeterNumber">{{item.millimeter}}mm</span>
</div>
</div>
</div>
CSS文件:
.activeClass1 {
background-color: green;
}
.activeClass2 {
background-color: skyblue;
}
JS文件:
export default {
el: "app",
data() {
return {
avtive: -1
}
},
method() {
isClick(index) {
this.active=index
},
}
}
注意:active=0时,会有默认值,未点击目标时,第一个标签也会改变成skyblue,如下图:

avtive=-1时,页面不会显示改变后的颜色,如下图:

本文介绍如何使用Vue.js和CSS实现一个列表组件,通过点击事件动态更改元素背景色。当active状态变为0时,第一个项默认变为skyblue。核心代码展示了前端开发中组件交互的基本原理。
364

被折叠的 条评论
为什么被折叠?



