:class="getCategoryClasses(category)"
v-for="category of orderCategories"
:key="category" >
{{ category }}
</div>
script:
data () {
return {
selectedOrderCategory: 'All',
},
methods: {
getCategoryClasses ( category ) {
return this.selectedOrderCategory === category ? [ 'text-primary' ] : [ '' ]
}
}
Есть ли какой-то более удобный способ? Мне не нравится, при каждой смене активной категории функция вызывается N раз
можешь вынести категории в отдельный компонент и там описывать компьютед
по сути будет тоже самое ведь, при каждом изменении активной категории будет происходить перерасчет компьютеда внутри каждой категории
а ты как представляешь себе обновление без перерасчёта? 🤔
К слову, для класса можно использовать более красивый объектный синтаксис Где ключ это класс, а значение его истинность, от которого он будет добавлять либо нет
Это не удобная и громозкая штука
Самое хорошее решение это вот
{ 'class': selected === a } хуже selected === a ? ['class'] : [] ?)))
А, ты про метод. Тут уже разница не очень большая, но мне привычнее читать мой вариант
Обсуждают сегодня