如何在Vue中使用动态CSS

如何在Vue中使用动态CSS

开发过程中,有需要通过script去动态修改css样式中某些属性值,比如 主题切换。

v-bind

<style>标记支持使用v-bind 将CSS值链接到组件状态

<template>
  <div class="text">hello</div>
</template>

<script>
export default {
  data() {
    return {
      color: 'red'
    }
  }
}
</script>

<style>
.text {
  color: v-bind(color);
}
</style>

同样适用于vue3less的组合

这里v-bind() 中必须使用引号。

<template>
  <div class="text">hello</div>
</template>

<script>
import { defineComponent, reactive } from 'vue'
export default defineComponent({
  setup() {
    const theme = reactive({
      color: 'red'
    })
    return {
      theme
    }
  }
})
</script>

<style lang="less" scoped>
.text {
  color: v-bind('theme.color');
}
</style>

还可以动态修改theme中color的值,界面也是可以动态发生变化。

posted @   skylei  阅读(3928)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示