@ArtJH

Как во vue вывести значение условия со строкой?

<p :class="'ic' + true ? 'on' : 'off' + '.svg'">123</p>

Выведет тег просто с class="on", без доп. текста.
  • Вопрос задан
  • 94 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега Vue.js
Разберитесь с приоритетом операторов.

Давайте-ка скобок добавлю, чтобы яснее стало, что в каком порядке выполняется:

('ic' + true) ? 'on' : ('off' + '.svg')

Ну и конечно писать подобные выражения в шаблоне - совсем не круто. Вынесите его в вычисляемое свойство или метод, например:

computed: {
  className() {
    return условие ? 'icon.svg' : 'icoff.svg';
  },
  ...

<p :class="className">
Ответ написан
@zav19791979
а можно еще так
<p :class="{true: 'icon.svg', false: 'icoff.svg'}>123</p>

и в зависимости от того будет ли true или false - присвоится тот или иной класс.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы