vue3新特性v-bind in CSS

概念

v-bind in CSSv-bind是两个不同的概念不要弄混淆了,点击链接可以看官网详细的解释

v-bind:是用在template模板中,用来动态绑定参数的内置指令,一般我们用的是:简写。

v-bind in CSS:是用在style标签中,来获取在script中定义css属性值的变量,即我们能够在style标签中引入动态的css变量了。

注意,v-bind in css 是vue3新提出的属性,vue2并没有

使用

以组合式的写法为例,在script标签中定义变量,在style标签中通过**v-bind(变量名)**,就可将css属性值动态设置了

复制代码
<script setup>
    const color = 'red'
</script>

<template>
    <div>
        <p>hello</p>
    </div>
</template>

<style scoped>
p {
  color: v-bind(color);
}
</style>

原理

在使用v-bind in css后,vue3自动在组件根标签生成了自定义属性,值为我red,然后在p标签上通过**var()**函数传入自定义属性获取到我们定义的变量。

在vue3中我们不用手动定义自定义属性到根标签,且不用**var()** 函数。这些都是vue3内部做的,在使用**v-bind()** 后,vue3内部将定义的变量名x生成 --hash值-x 自定义属性,设置到根标签style中,然后在v-bind的部分实际上是使用**var()** 传入生成的 --hash值-x 自定义属性。可以说**v-bind()**是vue3出的语法糖。

相关推荐
梦曦i15 小时前
@meng-xi/create-uni-app vs unibest:轻量脚手架与重型框架的定位之争
前端·uni-app
平头哥技术团队15 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
乌恩大侠15 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
yume_sibai15 小时前
Element Plus 数据展示组件完全指南(15个核心组件)
前端·javascript·vue.js
qiuhaipeng116 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
zzz_236816 小时前
个人 AI 记忆如何跨工具复用:用 Markdown、索引和 Skill 搭一个可治理的记忆库
前端·人工智能·react.js·前端框架·agent·agent测评
剑之所向18 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
计算机魔术师18 小时前
GPT-6 Astra幻觉砍到2%,却被一种老招数轻松绕过
前端
cjy00011119 小时前
2026AI 产品如何从一次性 Demo 变成可重复使用的业务工具?
前端·人工智能·fde
IT_陈寒19 小时前
React的状态更新坑得我差点加班到天亮
前端·人工智能·后端