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出的语法糖。

相关推荐
军军君0119 分钟前
Three.js基础功能学习十二:常量与核心
前端·javascript·学习·3d·threejs·three·三维
m0_7482546643 分钟前
CSS AI 编程
前端·css·人工智能
27669582921 小时前
dy bd-ticket-guard-client-data bd-ticket-guard-ree-public-key 逆向
前端·javascript·python·abogus·bd-ticket·mstoken·ticket-guard
m0_726365831 小时前
哈希分分预测系统 + Python Worker + Web 仪表盘”小系统(PHP + MySQL)
前端·python·哈希算法
WX-bisheyuange1 小时前
基于SpringBoot的交通管理在线服务系统
前端·javascript·vue.js·毕业设计
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-考试系统DDD(领域驱动设计)实现步骤详解(2)
java·前端·数据库·人工智能·spring boot
GIS之路2 小时前
ArcGIS Pro 实现影像波段合成
前端·python·信息可视化
m0_748254662 小时前
CSS id 和 classid 和 class 选择器
前端·css
光算科技2 小时前
单页应用SEO可行性丨Angular项目的3个索引优化方案
前端·javascript·angular.js
ggaofeng2 小时前
实践NPM打包和使用
前端·npm·node.js