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

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>v-bind</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
  <style>
    .changeColor {
      color: #42b983;
    }
  </style>
</head>

<!--需求描述:点击列表中的哪一项,那么该项的文字就变色-->
<body>
<div id= 'vue' >
  <h3>
    <ul>
      <li v-for="(famous, index) in stars" v-bind:class="{changeColor:index==currentIndex}" v-on:click=btnClick(index)>{{index}}-{{famous}}</li>
    </ul>
  </h3>
</div>
<script>
  let vm = new Vue({
    el: '#vue',
    data:{
      currentIndex :0,   
      stars: ['Lee', 'Leo', 'Lili', 'Alex'],
    },
    methods:{
      btnClick: function (index){
        this.currentIndex = index     //使currentIndex=index,这样就可以控制哪一个变色,相当于和class绑定
      }
    },
  })
</script>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容