Vue — как добавить значение свойства в качестве значения класса в шаблон?

Как добавить свое значение реквизита thrID в качестве значения класса в шаблон?

thrID передается как мое1 значение

<template>
  <div v-bind:class = "['hhhhh',thrID]">
    test {{thrID}}
  </div>
</template>

<script>


export default {
  name: 'bottom',
  components: {

  },
  props:["thrID"]
}
</script>

<style scoped>
  .bottom {
    background: yellow;
    height: 30px;
    width: 100%;
  }
</style>

это делает

<div data-v-10e356bb = "" data-v-7ba5bd90 = "" class = "hhhhh">
  test my1value
</div>

Я хочу, чтобы у него был такой класс

<div data-v-10e356bb = "" data-v-7ba5bd90 = "" class = "hhhhh my1value">
  test my1value
</div>

Ваш код работает нормально. См. эта рабочий пример.

Steven B. 10.04.2019 21:19
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

<template>
  <div :class = "classes">
    <!-- Magic! -->
  </div>
</template>

Затем в нашем компоненте экспорта мы можем сделать несколько вещей. Самый универсальный вариант – использовать объект. Если значение ключа истинно, применяется этот класс. Если значение ложно, оно не будет применено. Мы используем синтаксис [ keyName ]: value, чтобы добавить this.thrID в качестве ключа к нашему объекту.

export default {
  props: {
    thrID: {
      type: String,
      required: true
    }
  },
  computed: {
    classes () {
      return {
        hhhhh: true,
        [this.thrID]: true
      }
    }
  }
}

Точно так же вы можете вернуть массив:

classes () {
  return [
    'hhhhh',
    this.thrID
  ]
}

Или вы можете создать строку с классами:

classes () {
  return `hhhhh {$this.thrID}`
}

Другие вопросы по теме