实现原理:为每个列表项创建一个单独的组件,然后每个组件都可以拥有自己的isActive标志。
<div id="app">
<div v-for="item in items">
<toggle-list-item :item="item"></toggle-list-item>
</div>
</div>
<template id="list-item">
<div>
<div>
{{item.text}}
</div>
<button @click="toggle()">show</button>
<div v-show="isActive" class="item-desc">
{{item.desc}}
</div>
</div>
</template>
#js
Vue.component('toggle-list-item', {
template: '#list-item',
props: ['item'],
methods: {
toggle() {
this.isActive = !this.isActive;
}
},
data() {
return {
isActive: false
}
},
})
new Vue({
el: '#app',
data: {
items: [{
text: 'foo',
desc: 'foo desc'
}, {
text: 'bar',
desc: 'bar desc'
}, {
text: 'baz',
desc: 'baz desc'
}]
}
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。