文章目录

  • 一、面临到的需求?
  • 二、如何在css中使用变量?
  • 三、vue如何在style标签中使用data响应式数据?

一、面临到的需求?

首先我们知道css对应是有伪类的,如:hover, :active 等等。
我们需要想的是如何获取到这个对应的dom节点的伪类然后将对应的伪类,通过js的方式进行变更呢?

我们要知道的是,此种如:hover是不引用元素的,而是引用任何满足样式表规则条件的元素。
我们直接通过获取dom节点,然后变更里面的样式是行不通的。
此时我们就需要用到一个api

CSSStyleDeclaration.setProperty()


官网给出的介绍

二、如何在css中使用变量?

首先我们得要清楚在css中使用变量是采用

–变量名称:内容;
如下

--activeColor: #efc20f;

那么我们换种角度去思考这个问题,上方对应的setProperty是不是也同样可以变更我们设置的变量呢?答案是可以的。

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

这个时候其实我们就可以想到,既然css是可以使用变量的,并且这个变量,是可以通过setProperty这个api进行变更的。那么我们就可以采用$ref的方式获取节点,获取节点后,使用setProperty变更dom节点的css变量值,变量值变更对应视图重载,实现效果。

在这里的话我是设置了一个ref,对应的class也同样是如此

对应的在class中设置了一个变量(因为对应.tb_rate是父级节点,所以我们的子集节点根据作用域是可以找到对应我们设置的变量的)


这样我们在页面加载的时候其实也就获取到了对应的变量值,将对应的颜色也同样进行了变更。

当然如果我们需要监听变更这个颜色的话,那么我们也可以在watch中监听一下activecolor

这样每次父组件变更颜色的时候,对应的子组件数据也就会跟着变更了。

  <div ref="tb_rate" class="tb_rate"><div class="tb_rate__star">测试demo</div></div>
  mounted() {this.$refs.tb_rate.style.setProperty("--activeColor", this.activecolor);},watch: {activecolor() {this.$refs.tb_rate.style.setProperty("--activeColor", this.activecolor);},},
.tb_rate {--activeColor: #efc20f;cursor: default;
}
.tb_rate__star.hover {color: var(--activeColor);
}

vue如何在style标签中使用data响应式数据?相关推荐

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

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

  2. vue 如何在 style 标签里使用变量(数据)

    参考资料 SFC CSS Features | Vue.js 在 style 中使用 data 变量 options 方式: <template><div class="t ...

  3. 如何优雅的在 vue 中使用 非响应式对象_一篇文章上手Vue3中新增的API

    1. 初始化项目 // ① npm i -g @vue/cli // ② vue create my-project // ③ npm install @vue/composition-api -S/ ...

  4. vue 在style标签中引入js变量控制样式

    START 如果希望元素的样式根据js代码去控制,常见的办法呢,是在元素的style属性绑定变量即可 例如 <h3 :style="{ color: colorList[0] }&qu ...

  5. 在style标签中,vue项目引入style文件,外部css文件

    在style标签中,vue项目引入style文件,外部css文件 一.css是什么? 二.使用步骤 1.使用style标签引入 2.在style标签内使用@import导入 总结 一.css是什么? ...

  6. amp 显示成转义字符 in html,如何在HTML标签中转换转义字符?(How to convert escape characters in HTML tags?)...

    如何在HTML标签中转换转义字符?(How to convert escape characters in HTML tags?) 我们如何直接将"\u003chtml\u003e" ...

  7. style标签中的几个属性

    1.vue中使用css通常采用如下形式 <style lang="scss" scoped></style> 2.lang="scss" ...

  8. wps excel查找不定位_【WPS神技能】如何在WPSExcel表格中批量查找两列数据的不同?...

    当我们需要在Excel表格中快速查找两列数据的不同时,如下图所示:如何快速找出"一月业绩"和"二月业绩"的不同. 在office-Excel表格中,我们可以通过 ...

  9. android 工具栏沉浸 下拉,如何在Android应用中实现一个沉浸式状态栏效果

    如何在Android应用中实现一个沉浸式状态栏效果 发布时间:2020-12-08 17:04:42 来源:亿速云 阅读:151 作者:Leah 这篇文章将为大家详细讲解有关如何在Android应用中 ...

最新文章

  1. MySQL忘记root密码不重启mysqld的方法
  2. LeetCode LCP 06. 拿硬币
  3. C++ rand()函数和srand()函数
  4. 按下组合键 可以迅速锁定计算机,Win7锁定计算机快捷键是什么?Win7使用锁定计算机快捷键的方法...
  5. 微信支付 SDK 惊爆漏洞:黑客可 0 元购买任意商品
  6. jQuery1.11源码分析(8)-----jQuery调用Sizzle引擎的相关API
  7. POJ 2104 K-th Number (区间第k大)
  8. 微信小程序 java高校科研管理系统
  9. 谈谈创业这点事(8)
  10. 高中计算机考试解析,2019下半年教师资格面试考试高中信息技术试题分析
  11. mysql (1) 聚集索引和非聚集索引
  12. 新知实验室基于腾讯云实时音视频WEB端实验
  13. 关于USB鼠标驱动部分及问题解决
  14. 网易蜗牛读书产品分析报告
  15. JDK-8274609 JEP 421: Deprecate Finalization for Removal
  16. jspdf添加宋体_JSPDF支持中文(思源黑体)采坑之旅,JSPDF中文字体乱码解决方案...
  17. Django 搜索结果分页的实现 以及点击下一页搜索条件丢失可能的原因分析
  18. C语言 - 运输公司对用户计算运输费用。路程(s km)越远,每吨·千米运费越低。(用switch实现)
  19. 高清智能安防系统旅游景区解决方案分析
  20. 论文中英文摘要、目录、每章的页眉不同,页脚处的页码自动连续设置方法

热门文章

  1. Java程序员在上海应届生应该知道什么
  2. 难得一见的机械原理动态图
  3. webpack(持续更新)
  4. reflow和repaint
  5. 每日新闻 | 全球5G统计:98个国家293家运营商正积极5G试验
  6. 调薪、跨境、补金融,字节电商再出击
  7. 大坝安全监测设施 水库雨水情大坝安全监测设施
  8. C语言之指针的概念必备练习题
  9. 广东省2021年普通高考美术术科统一考试考生注意事项
  10. Java快递物流查询接口,怎么接入物流接口API,如何根据单号查询物流跟踪的详细信息的Demo详细说明