v-bind/v-on/v-for結合練習
阿新 • • 發佈:2020-12-10
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樣式。