вроде как для vue, я отобразил некоторые данные из моего начального объекта данных в vue. js Я пытаюсь скрыть и показать только элементы в пределах этой итерации отображения, когда пользователь выбирает заголовок. Я использую опору isHidden в vue, чтобы скрывать и показывать элементы моего списка, но при выборе любого заголовка отображаются все теги
вместо тех, которые связаны с указанным заголовком c.
кто-нибудь знает правильный способ сделать это? я должен использовать какой-то индекс или идентификатор из e.target? или я должен дать каждому элементу списка «скрытое» свойство и каким-то образом изменить его?
вот мой список, который я наметил
<div v-for="item in list">
<h4 v-on:click="viewItemsinCat()">{{item.category}}</h4>
<ul>
<li v-if="!isHidden" v-for="item in item.food">
{{item}}
</li>
</ul>
</div>
, тогда мои данные будут такими:
data: {
list: [{
category: 'Baked goods',
food: ['bread', 'cookie', 'butter', 'powder']
}, {
category: 'meats',
food: ['chicken', 'turkey', 'beef']
}, {
category: 'fruits',
food: ['bannana', 'apple', 'pineapple']
}, {
category: 'canned goods',
food: ['tomatoes', 'green beans', 'corn']
}, {
category: 'veggies',
food: ['broccoli', 'celery', 'lettuce']
}, {
category: 'pantry',
food: ['broom', 'mop', 'dried beans']
}, ],
isHidden: true,
}
тогда у меня есть свой способ изменить isHidden
viewItemsinCat: function(){
this.isHidden = false
},