淘先锋技术网

首页 1 2 3 4 5 6 7

Vue中的li收缩,是指在列表中的某些项可以点击收缩或展开,以便更好地组织和展示数据。

如何实现这种收缩功能呢?下面是一个使用Vue的示例代码:

<ul>
<li v-for="item in items">
<div v-on:click="showBox(item)">
{{ item.title }}
</div>
<div v-show="activeBox === item">
{{ item.content }}
</div>
</li>
</ul>

在这个代码中,我们使用v-on指令为每个列表项的标题绑定了一个点击事件,并将当前点击的项传入showBox函数。showBox函数会设置一个activeBox变量,以便在模板中根据activeBox的值来显示或隐藏项的内容。

接下来,我们需要在Vue实例中定义showBox函数和变量:

var app = new Vue({
el: '#app',
data: {
items: [
{
title: 'Item 1',
content: 'Content for item 1'
},
{
title: 'Item 2',
content: 'Content for item 2'
},
{
title: 'Item 3',
content: 'Content for item 3'
}
],
activeBox: null
},
methods: {
showBox: function(item) {
if (this.activeBox === item) {
this.activeBox = null;
} else {
this.activeBox = item;
}
}
}
})

这个示例代码演示了如何使用Vue实现li收缩功能。我们将每个列表项的标题绑定了一个点击事件,并通过activeBox变量来控制项内容的显示和隐藏。这种方式不仅需要较少的代码,也极大地降低了模板中的逻辑。