5. v-for实现列表点击变色
2019-10-22 本文已影响0人
最爱喝龙井
思路:我们首先需要解决第一个列表项显示红色的问题,😀,我们的做法是通过定义一个
currentIndex
的变量来和当前的index
值进行比较,如果相同就显示红色,这点想明白之后,就好办了😘,接下来我们只需要获取每次点击的列表项的索引,然后赋值给currentIndex
就可以了,搞定😜
<div id="app">
<ul>
<li v-for="(item, index) in movies" @click="change(index)" :class="{demo:currentIndex === index}">
{{item}}
</li>
</ul>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
movies: ['海王', '海贼王', '海尔兄弟'],
currentIndex: 0
},
methods: {
change(index) {
this.currentIndex = index;
}
}
});
</script>