Задание значение html атрибутов по условию в vue

Есть ли возможность в vue задавать значение атрибутов в зависимости от условия, так как это сделано с классами. Сейчас всё работает через v-if, но это выглядит слишком громоздко, и есть ощущение, что можно это сделать более краток.

<font-awesome-icon v-if="sortData.field != 'id'" icon="fa-solid fa-sort" size="sm"
      color="#6c757d" class="me-1" />
<font-awesome-icon v-if="sortData.field == 'id' && sortData.type == 'asc'"
      icon="fa-solid fa-sort-up" size="sm" color="#6c757d" class="me-1" />
<font-awesome-icon v-if="sortData.field == 'id' && sortData.type == 'desc'"
      icon="fa-solid fa-sort-down" size="sm" color="#6c757d" class="me-1" /> 
№

Какая-нибудь конструкция по типу v-bind:class думаю была бы тут лучше.


Ответы (1 шт):

Автор решения: Maxim

Разобрался как это можно сделать через v-bind

<th @click="sort('id')">
    <font-awesome-icon v-bind:icon="'fa-solid' + (sortData.field != 'id' ? ' fa-sort' : (sortData.type == 'asc' ? ' fa-sort-up' : ' fa-sort-down'))"
         size="sm" color="#6c757d" class="me-1" />
    №
</th>

→ Ссылка