vue.js 是否可以在样式中动态指定类名?

oxalkeyp  于 2023-04-12  发布在  Vue.js
关注(0)|答案(2)|浏览(183)

我需要将类名从脚本传递到样式

<script
    lang="ts"
    setup
>
    const className = ref('some-class')
</script>

<style
    lang="sass"
    module
>
    .#{v-bind(className)}--dynamic
        pointer-events: none
</style>

在这种情况下,我得到一个错误:错误:应为选择器。.v-bind(className)--dynamic ━插值输出错误

gab6jxml

gab6jxml1#

@Ilya Degtyarenko您可以在样式中指定您的类,并像这样使用它:

<template>
  <div :class="[someClass]">
  </div>
</template>

<script setup lang="ts">
  const a = 10
  const someClass = a === 10 ? "success" : "error"
</script>

<style lang="scss">
.success {
}
.error {
}
</style>
xt0899hw

xt0899hw2#

在后台,style中的v-bind创建了一个CSS variable,它可以在元素的style属性中更新,并用作CSS规则中的值:

<p  style="--469af010-theme_color:red;">hello</p>

p {
    color: var(--469af010-theme_color);
}

不能使用CSS var作为类名。

相关问题