vue 给当前项动态添加class 的几种情况

本文介绍了在Vue.js中如何使用v-for循环和动态绑定class来实现元素的高亮显示。通过监听点击事件,改变data中的标识来切换激活的元素,并通过class的条件判断添加active-class。示例代码包括循环和非循环两种情况,适用于列表和固定数量的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. v-for循环情况下动态添加:

1.v-for循环元素,绑定key
2.在data中创建标识isActive=0,这是为了初始化第一个标题为active
3.监听单击事件触发方法,传入点击元素的index改变标识
4.绑定class属性,判断当(index===标识)时添加active-class

<ul>
  <li v-for="(item,index) of list" :key="index" 
  :class="{active: isActive === index}"
  @click="changeClass(index)">{{item}}</li>
</ul>
data() {
  return {
    list: ["标题一","标题二","标题三"],
    isActive: 0
  }
},
methods: {
  changeClass(i) {
    this.isActive = i;
  }
}
.active {
  color: red;
}

二.非循环情况下动态添加:

跟方法一循环情况同理,只不过将循环的动态index更改为固定的编号,将class的判断条件更改为(isActive === 编号)。同样的,在点击事件触发时传入编号更改标识。

<ul>
  <li :class="{active: isActive === 1}" @click="changeClass(1)">标题一</li>
  <li :class="{active: isActive === 2}" @click="changeClass(2)">标题二</li>
  <li :class="{active: isActive === 3}" @click="changeClass(3)">标题三</li>
</ul>
data() {
  return {
    isActive: 1
  }
},
methods: {
  changeClass(i) {
    this.isActive = i;
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值