vue3中在style中使用script中定义的变量

文章讲述了在Vue3项目中遇到的需求,即点击按钮动态改变表格的边框和文字颜色。作者尝试使用CSSvars方法未果,因为出现了报错。随后,作者通过在scriptsetup中定义变量并结合v-bind在scopedstyle中使用该变量,成功实现了颜色的动态变化。这是一种变通的vars方法,可以正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        近期遇见一个需求:点击按钮改变表格边框和文字的颜色。

        按道理说这并不是什么难事,但我想要的时在script中定义一个变量,在style中读取。这样一来我就可以通过改变变量来动态改变边框和文字的颜色。

        因此我选择了网上说的vars的方法。如:

<style vars="{ border, color }" scoped>
    h1 {
      color: var(--color);
      border: var(--border);
    }
</style>

但不知道为什么,vue3中报错,无法使用。

因此我只能使用另一种方式:

<script setup lang="ts" name="WorkZfxxIndex">
    //颜色变量
    const borderColor = ref ('saddlebrown')
</script>

<style lang="scss" scoped>
    table {
		border: 1px solid v-bind(borderColor);
    }
</style>

这也算是vars的变种吧,但是确实可以正常使用。

记录一下,以待后用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值