Я пытался сделать анимацию, но ничего не вышло. Также попробовал transition-group. Как я могу улучшить этот код, чтобы он стал работоспособным?
Он показывает два разных списка в зависимости от категории данных из моего файла data.json.js.
Также с тегом transition-group есть ошибка:
<transition-group> children must be keyed: <li>
шаблон
<button @click = "switcher = !switcher">SWITCH</button>
<transition name = "fade">
<li v-for = "elements in myData" v-if = "elements.key == getKey()">
<span>{{elements.title}}</span>
</li>
</transition>
сценарий
data() {
return {
switcher: true,
}
getKey(){
if (this.switcher) {
return 'KEY'
} else {
return 'ANOTHER KEY'
}
стиль
.fade-enter-active, .fade-leave-active {
transition: opacity .5s;
}
.fade-enter, .fade-leave {
opacity: 0;
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


children must be keyed:
<li>
Вы можете привязать :key = "index" к элементу <li>. Попробуй это:
<transition name = "fade">
<li v-for = "(elements, index) in myData" :key = "index" v-if = "elements.key = getKey()">
<span>{{elements.title}}</span>
</li>
</transition>
Просто чтобы уточнить, что приведенное выше не будет работать, так как вам нужно использовать группу перехода для нескольких элементов списка. Затем вам также понадобится ключ в цикле, но привязка индекса не даст вам желаемого эффекта - всегда будет анимироваться последний элемент в списке.
Лучше использовать: key = "elements.id"