淘先锋技术网

首页 1 2 3 4 5 6 7

设置默认第一个样式为active

 

<!DOCTYPE html>
<html >

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .active {
      color: crimson;
    }
  </style>
</head>

<body>
  <div id="app">
    <ul>
      <li v-for="(item,index) in movies" :class="{active:currentIndex===index}" @click="change(index)">
        <!-- 解释:active:currentIndex===index -->
        <!-- 判断当前索引值和currentIndex的值是否相等,得到布尔值true或false,来确定当前的li标签的样式为active -->
        <!-- 要使第一个li标签的style样式为active,那么设置currentIndex的默认值为index的第一个值,“0” -->
        <!-- 以此类推,要使第二个li标签的style样式为active,那么设置currentIndex的默认值为index的第二个值,“1” -->
        {{item}}
      </li>
    </ul>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    const app = new Vue({

      el: '#app',
      data: {
        movies: ['大话西游', '喜剧之王', '整蛊之王', '长江七号'],
        currentIndex: 0,
      },
      methods: {
        change(index) {
          this.currentIndex = index
          //注意点击事件要传入参数index,是当前的li标签的索引值,让后函数中让当前的索引值和currentIndex的值相等,得到布尔值为true,使当前的样式为active
        }
      }
    })
  </script>
</body>

</html>