这篇文章主要讲解了vue v-for出来的列表,如何实现点击某个li使得当前被点击的li字体变红,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

这里使用的是给被点击的li添加类名的方式

<template> <div class="person1"> <div v-for="(item,index) in lists" @click="clickAdd(index)" :key="index" :class="{red:i === index}"> <div>{{item.name}}</div> </div> </div></template><script>export default { data () { return { isShow: false, i: null, lists: [ {id: 1, name: 'rose'}, {id: 2, name: 'mike'}, {id: 3, name: 'jerry'} ] } }, methods: { clickAdd (index) { console.log(index) this.i = index } }, watch: { }}</script><style> li{ list-style: none; } .red{ color: red; }</style>

如果想要获取lists里某条数据信息的话,直接将item传递过去即可(@click=“clickAdd(item)”)

补充知识:vue点击ul中的li显示,点击其他地方隐藏

vue点击ul中的li显示弹框,点击其他地方隐藏弹框

注意:ref="seatTipOperation"

<ul ref="seatTipOperation" v-if="seatTipOperationVisible"> <li @click="handleSeatTipAdd()">添加</li> <li @click="handleSeatTipDelect()">删除</li> <li @click="handleSeatTipLock()">锁定</li> <li @click="handleSeatTipFillIn()">插空</li> <li @click="handleSeatTipSocket()">插座</li> <li @click="handleSeatTipSwop()">对调</li></ul>

handleSeatList () { this.seatTipOperationVisible = true}

mounted () { // this的指向问题 let that = this document.addEventListener('click', function (e) { // 这里that代表组件,this代表document // 冒泡也不会隐藏 if(!that.$refs.seatTipOperation.contains(e.target)){ that.seatTipOperationVisible = false } })}

看完上述内容,是不是对vue v-for出来的列表,如何实现点击某个li使得当前被点击的li字体变红有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。