参考资料

SFC CSS Features | Vue.js

在 style 中使用 data 变量

options 方式:

<template><div class="text">hello</div>
</template><script>
export default {data() {return {color: 'red'}}
}
</script><style>
.text {color: v-bind(color);
}
</style>

Composition 方式

<script setup>
const theme = {color: 'red'
}
</script><template><p>hello</p>
</template><style scoped>
p {color: v-bind('theme.color');
}
</style>

还有一个问题,如果我们的变量是数字,但是我们想要设置像素怎么办?

其实这个很好解决

一种是使用 computed 计算属性改变它

<script setup>
import { computed } from 'vue';
const props = defineProps({ size: Number });const sizePx = computed(() => `${props.size}px`)
</script><template><p>hello</p>
</template><style scoped>
p {font-size: v-bind(sizePx);
}
</style>

还有一种方式是使用 calc css 计算属性

<script setup>
defineProps({ size: Number });
</script><template><p>hello</p>
</template><style scoped>
p {font-size: calc(1px * v-bind(size));
}
</style>

当然还有第三种那就是传值的时候就传成字符串格式

option 方式大同小异

==========================================================================================

那么如何在代码中使用style属性呢?

也很简单

同样参考

SFC CSS Features | Vue.js

<template><p :class="$style.red">This should be red</p>
</template><style module>
.red {color: red;
}
</style>

还可以设置不同的变量

<template><p :class="classes1.red">This should be red</p>
</template><style module="classes1">
.red {color: red;
}
</style><style module="classes2">
.red {color: green;
}
</style>

如果是在 script 中使用,可以使用 useCssModule

import { useCssModule } from 'vue';const classes1 = useCssModule('classes1');const classes2 = useCssModule('classes2');

vue 如何在 style 标签里使用变量(数据)相关推荐

  1. vue如何在style标签中使用data响应式数据?

    文章目录 一.面临到的需求? 二.如何在css中使用变量? 三.vue如何在style标签中使用data响应式数据? 一.面临到的需求? 首先我们知道css对应是有伪类的,如:hover, :acti ...

  2. 在js中获取vue文件的style标签下的内容

    前言: 由于业务需求,将页面内容转成pdf,前端需要提供整个页面的dom元素提供给后端,但样式并不是在行内而是在<style>标签里. 解决方案: 通过原生属性 document.styl ...

  3. .vue文件中style标签的几个标识符

    .vue文件中style标签的几个标识符 在人生就要绝望的时候, 被编辑器所提示的一个scopedSlots所拯救. 卧槽, 写到最后才发现这个属性的具体卵用. 详情见最后解决办法. 问题背景 问题由 ...

  4. vue项目 在style标签中引入css,less,sass的方法

    vue项目 style标签引入 less sass less和sass需要安装相应的依赖 package.json 中加上 并再次npm install 重启项目 "less": ...

  5. Vue中的style标签的lang=“ “和scpoed属性

    Vue中的style 的lang=" "和scpoed属性 普通的 style 标签只支持普通的样式,如果想要启用 scss 或 less ,需要为 style 元素,设置 lan ...

  6. 在vue中的style标签内如何引入外部的css文件

    1.使用style标签引入 <style src="../common/css/bodycss.css"></style> 2.在style标签内使用@im ...

  7. vue的style标签里面设置变量

    1.在style里面添加变量 *适用于组件统一调整样式 //html <div class="headerBox"><p class="headerCo ...

  8. Vue -- 如何在 span 标签上实现一个点击事件

    使用 JQuery 时,需要通过下述方式为选中的页面元素绑定单击事件 $(".myclass").on("click" , function(){ } 但在 V ...

  9. 在vue-cili中使用scss在组件文件.vue中的style标签中输入属性lang=“scss“报错

    Module build failed: Error: Missing binding E:\newsproject\node_modules_nod 一定能解决的办法: 1在配置文件包package ...

最新文章

  1. linux服务器读写硬盘io,查看linux服务器硬盘IO读写负载
  2. 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!...
  3. svn is already locked解决方案
  4. 第11天学习Java的笔记(数组注意事项)
  5. 在hadoop/hbase等代码中kinit
  6. 信佑无盘主服务器密码,(信佑无盘帮助手册.doc
  7. 提高Android Studio运行、编译速度方案
  8. Windows10下python3.5的sklearn库安装
  9. 工厂模式的思想主要为
  10. Tableau安装与破解
  11. preLaunchTask“C/C++:g++.exe生成活动文件“已终止,退出代码为-1
  12. AliOS Things入门(1) 基于STM32L4与MDK搭建AliOS Things2.1.0开发环境
  13. Mac单机多实例Mysql(8.0.16)主从配置
  14. php notice undefined variable,解决PHP提示Notice: Undefined variable的办法
  15. oracle文件系统挂载点,挂载和取消挂载文件系统概述
  16. vue 如何实现多个路由共用同一个页面组件
  17. matlab弹簧振子的阻尼振动,MATLAB计算方法和技巧6_2阻尼振动
  18. 《大数据面试题》面试大数据这一篇就够了
  19. flink 相关资料
  20. tensorflow进阶(更新中...)

热门文章

  1. JVM内存模型是什么?
  2. 双圆环环布带系法图解_魔术(连环扣)两个环之间是怎样穿过去的
  3. 弱者易怒如虎,强者平静如水,真正厉害的人早已戒掉了情绪
  4. Timer定时器详解
  5. VMware Workstation Pro界面设置为中文界面
  6. cookie的domain属性
  7. 怎么把大的文件传送到服务器,大文件如何上传到云服务器
  8. windows远程桌面自动登录
  9. 【Django】 gunicorn部署纪要
  10. img显示保存在服务器中的图片,img显示服务器图片不显示