1. 程式人生 > 其它 >v-bind/v-on/v-for結合練習

v-bind/v-on/v-for結合練習

技術標籤:vuevue

v-bind/v-on/v-for結合練習

滑鼠點哪個電影其變為紅色,預設第一個紅色

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>作業</title>
  <style>
    .Red {
      color: red;
    }
  </style>
</head>
<body>
<div id
="app">
<ul> <!-- 在v-bind:class中,true/false判斷通過,當前點選的li的index和標誌currentIndex是否一樣來決定,預設情況下第一個亮--> <li v-for="(m,index) in movies" v-on:click="ulClick(index)" v-bind:class="{Red:index===currentIndex}">{{index}}-{{m}}</li> </ul>
</div> <script src="../js/vue.js"></script> <script> const app = new Vue({ el: '#app', data: { movies: ['海賊王','海爾兄弟','火影忍者','進擊的巨人'], //當前點的li,預設是第一個 currentIndex:0, }, methods:{ ulClick:function (index) { //點哪個將當前的的下標賦值給currentIndex
this.currentIndex = index; } } });
</script> </body> </html>

在這裡插入圖片描述

注意點

1.v-for=(item, index) in items不僅拿到了需要遍歷的元素,其下標的索引也得到了。

2.ulClick函式傳入這個index作為引數,設定一個標誌currentIndex用來顯示第幾個li需要變色。預設情況是第一個為紅色。

3.每次點選,將標誌修改為下標,然後class屬性裡的布林值,就可以通過index===currentIndex來判斷,點哪一個其li中的class就新增Red樣式。