Как добавить свое значение реквизита 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>
Вы можете легко добавлять пользовательские классы, привязывая строку, массив или объект к атрибуту класса. Вы начинаете с использования синтаксиса 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}`
}
Ваш код работает нормально. См. эта рабочий пример.