<li v-for="item in lists" class="test"></li
像这样循环一组 li ,每个 li 上的类名都是test,如果想单独操作其中一个 li,比如点击某个 li 时在该 li 上弹出蒙层,蒙层样式写在 active 上,关键就是怎么把这个 active 加到选中的 li 类名里面。
可以在获取到 lists 这个对象时
遍历一遍对象
给对象里每个属性添加一个属性 active = false
在渲染 li 的时候把用这个属性 active 来判断是否绑定类名 active :
<li :class="{'active': item.active}">
接着只需要在点击该元素时改变该元素的属性 active,类名 active 就只绑定在当前 li 上了
click(index, item) {
item.active = !item.active
}
其实这是一个在编程时非常常用的方法,不能直接操作到那个对象,那就通过控制另一个和该对象连接的对象来间接操作,目前理解的解除深耦合也是类似这种做法。
网友评论