当前位置 : 主页 > 网络编程 > JavaScript >

Vue点击切换Class变化,实现Active当前样式操作

来源:互联网 收集:自由互联 发布时间:2021-04-05
刚入门Vue没多久,在制作过程中遇到很多简单实用的小技巧。 没有太多的墨水,直接上代码: 一、先在data里增加一个变量,用来储存当前点击的元素 data() { return { activeClass: -1, // 0为默

刚入门Vue没多久,在制作过程中遇到很多简单实用的小技巧。

没有太多的墨水,直接上代码:

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

data() {
  return {
   activeClass: -1, // 0为默认选择第一个,-1为不选择
  };
 },

二、在Template里面的代码,切记在@click方法里面要传index,

<li :class="activeClass == index ? 'active':''" v-for="(item,index) in itemList" :key="index" @click="getItem(index)">
     {{itme.text}}
    </li>

三、点击事件:改变data里面activeClass的值

  getItme(index) {
   this.activeClass = index; // 把当前点击元素的index,赋值给activeClass
  },

四、在style中写上 .active 样式

.active {
 /* background: #eee; */
 color: #1e82d2;
 font-weight: bolder;
}

补充知识:Vue实现非循环active点击切换样式

我就废话不多说了,大家还是直接看代码吧~

<div class="tab_basic">
  <span :class="{to_active:shows==1}" @click="today_a">日</span>
  <span :class="{to_active:shows==2}" @click="today_b">月</span>
  <span :class="{to_active:shows==3}" @click="today_c">年</span>
</div>
<style>
.to_active {background: #409eff!important;color: #fff;}
</style>
然后在method里定义
today_a(){
this.shows = 1;
},
today_b(){
this.shows = 2;
},
today_c(){
this.shows = 3;
},

完事,欢迎小伙伴有更好的方法分享哈~ 希望能给大家一个参考,也希望大家多多支持易盾网络。

网友评论