vue2.0 实现click点击当前li,动态切换class

Posted pearl007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue2.0 实现click点击当前li,动态切换class相关的知识,希望对你有一定的参考价值。

1,文件内容

----//为item添加不存在的属性,需要使用vue提供的Vue.set( object, key, value )方法。  看详解:https://cn.vuejs.org/v2/api/#Vue-set

 

<template>
  <div>
    <ul>
      <li v-for="(item,$index) in items" @click="selectStyle (item, $index) " :class="{\'active\':item.active,\'unactive\':!item.active}" >
      {{item.select}}
      <span class="icon" v-show="item.active">当我是图标</span>
      </li>
    </ul>
  </div>
</template>

<script>

  import Vue from \'vue\'

  export default{
    data(){
      return {
        active: false,
        items: [
          {select:\'第一行\'},
          {select:\'第二行\'},
          {select:\'第三行\'},
          {select:\'第四行\'}
        ]
      }
    },


  methods: {
    selectStyle (item, index) {
      this.$nextTick(function () {
        this.items.forEach(function (item) {
          Vue.set(item,\'active\',false);
        });
        Vue.set(item,\'active\',true);
      });
    }
  }
}
</script>

<!-- 样式 -->
<style>
  .active{
    color:red;
  }
  .unactive{
    color:#000;
  }
  .icon{
    float: right;
    font-size:12px;
  }


</style>

 

2,效果

以上是关于vue2.0 实现click点击当前li,动态切换class的主要内容,如果未能解决你的问题,请参考以下文章

jQuery实现多个li点击切换和显示隐藏

vue2.0 tab切换几种方式

vue2.0实现点击后显示,再次点击隐藏

jQuery怎么实现tab页切换效果

vue2.0 实现全选和全不选

CSS里鼠标点击div里的LI中的文字时,切换其他文字怎么实现???