vue动态绑定样式

image
每次点击方块时通过三元表达式,改变对应的class,每一个不同的class对应不同的样式,从而通过改变class实现样式的切换。

<template>
  <div class="container">
    <!--通过三元表达式选择class使用对应的样式-->
    <div
      v-for="item in list"
      :key="item"
      :class="current == item ? 'current' : 'style-test'"
      @click="styleTest(item)"
    ></div>
  </div>
</template>

<script>
export default {
  components: {},
  data() {
    return {
      list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
      current: "", //代表当前点击的项目
    };
  },
  mounted() {
    //默认点击第一项
    this.styleTest(this.list[0]);
  },
  methods: {
    //点击后改变当前项目
    styleTest(item) {
      this.current = item;
    },
  },
};
</script>
<style scoped>
.container {
  text-align: center;
}
.style-test,
.current {
  /*未点击的项目*/
  display: inline-block;
  height: 50px;
  width: 50px;
  background-color: #77b2ec;
  margin: 10px;
  cursor: pointer;
}
.current {
  /*点击的项目*/
  background-color: #41b883;
  box-shadow: 5px 5px 10px white;
}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值