我正在尝试在v-repeat中的项目列表上切换一个开放类.我只想要一个列表项(最近点击的列表项)打开该类.
输出的数据具有“class”属性,默认情况下为空字符串.我正在使用它来设置v-repeat中列表项的类,如下所示:
v-on="click: toggleFunction(this)"
class="{{ class }}">
{{ itemContent }}
我在每个项目上使用v-on =“click:toggleFunction(this)”,这样我就可以更改特定项目的类,但是如何更改所有其他项目的类?
我目前的点击方法:
toggleFunction: function(item) {
if (item.class == '') {
// code to remove the `open` class from all other items should go here.
item.class = 'open';
} else {
item.class = '';
}
}
我已经尝试使用常规的jQuery函数去除类:它确实删除了类但它没有改变item.class属性,所以一旦项目被多次点击就会变得奇怪……
我确信必须有一种直接的解决方法,我没有看到,并且不得不在数据中设置一个类属性本身感觉hacky(但我会满足于任何有效的修复).