博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue2.0 实现click点击当前li,动态切换class
阅读量:4958 次
发布时间:2019-06-12

本文共 1058 字,大约阅读时间需要 3 分钟。

 

1,文件内容

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

 

<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,效果

分类:

转载于:https://www.cnblogs.com/sxz2008/p/7048671.html

你可能感兴趣的文章
从excel表格加载数据返回DataSet
查看>>
kernel笔记——网络收发包流程
查看>>
【js】逻辑运算符 && 、|| ,位运算符 | 、&
查看>>
python-open-cv 自动人脸识别安装包
查看>>
js 数字前自动补零
查看>>
Shell脚本书写规范
查看>>
P1036 选数
查看>>
浅谈C/C++中的typedef和#define
查看>>
Locust 性能测试工具安装使用说明
查看>>
二分图匹配
查看>>
【树莓派】双网卡添加多路由静态路由持久化的问题处理
查看>>
Installing TensorFlow on Ubuntu
查看>>
Codeforces1176B(B题)Merge it!
查看>>
https+apache+tomcat Linux 环境
查看>>
codeforces723 D. Lakes in Berland(并查集)
查看>>
约束和异常处理
查看>>
PHP初识
查看>>
Java 多线程
查看>>
Minimum Size Subarray Sum
查看>>
个人比较喜欢用的省市联动
查看>>