Я составляю список элементов с циклом v-for. Внутри каждого элемента цикла есть кнопка с методом события щелчка, которая показывает текст описания. Когда я нажимаю на кнопку, она должна переключаться только внутри собственного элемента, но она затрагивает все элементы в списке v-for.Переключение между элементами v-for влияет на весь список, как я могу заставить каждый переключатель влиять только на содержащий элемент списка?
Итак, как сделать метод переключения, который повлияет только на его собственный элемент?
<template>
<div>
<div v-for="item in items" :class="{ activeclass: isActive }">
<div class="item-text">
{{item.text}}
</div>
<button @click="toggle()">show</button>
<div v-show="isActive" class="item-desc">
{{item.desc}}
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
items: [
{
text: 'Foo',
desc: 'The Array.from() method creates a new Array instance from an array-like or iterable object.',
},
{
text: 'Bar',
desc: 'The Array.from() method creates a new Array instance from an array-like or iterable object.',
}
],
isActive: false
}
},
methods: {
toggle: function() {
this.isActive = !this.isActive;
}
},
}
</script>
Я использовал этот путь. Оно работает! Нет другого способа, более чистого сделать это? –
'@ click =" item.isActive =! Item.isActive "' –