vue实现点击列表中的哪一项,哪一项就变颜色

vue实现点击列表中的哪一项,哪一项就变颜色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<style>
  .active{
    color: red;
  }
</style>

  <!-- 作业需求:点击列表中的哪一项,那么该项的文字变成红色 -->
<div id="app">
    <ul>
        <li v-for="(item, index) in movices" :class="{active:index==mark}" @click="getcolor(index)">{{ index }}-{{ item }}</li>
    </ul>
</div>

<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: "#app",
    data: {
      mark : -1,
      movices: ['复仇者联盟','钢铁侠','美国队长','小黑历险记']
    },
    methods: {
      getcolor: function(index) {
        if(index == this.mark){
          this.mark = -1 // if判断,实现点击一项时变色,再次点击,取消变色
        }else{
          this.mark = index
        }
        
      }
    }
  })
</script>
</body>
</html>

v-for="(item, index) in movices"循环展示列表的同时,取列表的下标index。

:class v-bind 的语法糖,动态绑定class。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。