Vue点击动态添加Class

1.先在data里增加一个变量,用来储存当前点击的元素

    data() {
      return {
        activeClass: -1,// 0为默认选择第一个,-1为不选择
         list: [
          {title: '全网搜索(100w+)'},
          {title: '优惠推荐(包邮10w+)'},
        ],
      }
    },

2.在Template里面的代码,切记在click方法里面要传k

 <el-row class="list">
      <el-col :span="12" v-for="(v,k) in list" :key="k" :class="activeClass ==k?'active':''">
      <span @click="IsActive(k)">{{v.title}}</span>
      </el-col>
    </el-row>

3.CSS代码

.active {
    border-bottom: 1px solid #FE4520;
    color: #FE4520;
  }

4.methods代码

    methods: {
      IsActive(k) {
        this.activeClass = k;
      }
    }
Vue中,我们可以使用`v-bind`指令来动态添加CSS类。具体步骤如下: 1. 首先,在Vue的数据模型中定义一个变量,用于保存是否应用特定的CSS类。例如,我们可以定义一个名为`isClicked`的变量,并将其初始化为`false`。 2. 接下来,将`v-bind:class`指令添加到需要应用CSS类的元素上。`v-bind:class`指令的值可以是一个对象,用于指定需要添加的CSS类。我们可以将该对象的键设置为CSS类名,将值设置为`true`或`false`,以确定是否应用该类。例如,我们可以使用以下代码将`isClicked`变量与元素的CSS类绑定: ```html <div v-bind:class="{ 'clicked': isClicked }">点击添加class</div> ``` 3. 现在,我们需要为点击事件添加一个方法,用于在点击时修改`isClicked`变量的值。我们可以使用`v-on`指令来监听点击事件,并将其与一个自定义的方法进行绑定。例如,我们可以添加以下代码来实现这一功能: ```html <div v-bind:class="{ 'clicked': isClicked }" v-on:click="changeClass">点击添加class</div> ``` 在Vue的实例中,我们需要定义一个名为`changeClass`的方法,该方法将在点击元素时被调用。在该方法内部,我们可以通过修改`isClicked`变量的值来实现应用或移除CSS类。例如,我们可以使用以下代码定义`changeClass`方法: ```javascript methods: { changeClass() { this.isClicked = !this.isClicked; // 在每次点击时切换变量值 } } ``` 4. 最后,我们可以通过点击元素来测试是否成功应用了CSS类。在每次点击时,`isClicked`变量的值将被切换,因此,当元素被点击时,它将动态添加或移除`clicked`类。这样,我们就完成了使用Vue来实现通过点击添加CSS类的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值