在VUE style中使用data中的变量的方法


Posted in Javascript onJune 19, 2020

最近项目中的公共组件,在复用的时候,针对不同的场景,需要不断变更CSS里样式的值,而且已经有了全局的公共组件样式了

如果用vue传统的动态绑定class和style的方式去修改样式(文末会提到),需要额外写很多变量和模块class,那如果我的样式的值,可以从父组件,传到子组件,子组件根据传入值去渲染对应样式的值,其实就是要再style中使用data和props中的变量,这要怎么做呢?

其实很简单,只需要三步,大家来看:

1、HTML结构

<Upload

   ref="upload"

   :show-upload-list="false"

   :before-upload="handleBeforeUpload"

   :disabled="disabled"

   :max-size="maxSize"

   action
>

2、作用区域范围内设置“CSS变量”

<style lang="less" scoped>
.info-img-wrap {

 --textAlignPosition: center;

 /deep/ .ivu-upload {

  text-align: var(--textAlignPosition);

 }

}
<style/>

3、在JS中通过setProperty()方法修改“--textAlignPosition”的值,从而间接改变对应子元素的(text-align)文本对齐方式

mounted() {

   this.$nextTick(function () {

    this.$refs.upload.$el.style.setProperty(

     '--textAlignPosition',

     this.textAlign

    );

   });

}

这要就完成了。

下面再复习一下vue中修改样式还有另外两种方法,1是动态修改class,2是动态修改style

1、vue中可以通过对象语法和数组语法来修改class

对象语法

html

<div v-bind:class="{ 'active': isActive, 'text-danger': hasError }"></div>

js

data: {

 isActive: false,

 hasError: true

}

数组语法

html

<div v-bind:class="\[isActive ? activeClass : '', errorClass\]"></div>

js

data: {

 isActive: false,

 hasError: true,

 activeClass: 'active',

 errorClass: 'text-danger'
}

只需要动态改变isActive和hasError的值,就可以实现div的绑定不同的class和去掉绑定

2、vue中可以通过对象语法和数组语法来修改style

对象语法

html

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

js

data: {

 activeColor: 'red',

 fontSize: 30

}

数组语法

html

<div v-bind:style="\[styleColor, styleSize\]"></div>

js

data: {

 styleColor: {

   color: 'red'

  },

 styleSize:{

   fontSize:'23px'

 }

}

只要改变data中的变量styleColor和styleSize,就可以动态修改div的style了。

到此这篇关于在VUE style中使用data中的变量的方法的文章就介绍到这了,更多相关VUE style使用data变量内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
总结一些js自定义的函数
Aug 05 Javascript
javascript prototype 原型链
Mar 12 Javascript
Jquery中使用setInterval和setTimeout的方法
Apr 08 Javascript
Js Jquery创建一个弹出层可加载一个页面
May 08 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
分类解析jQuery选择器
Nov 23 Javascript
jquery 多个radio的click事件实例
Dec 03 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
layDate日期控件使用方法详解
Nov 15 Javascript
Vue核心概念Action的总结
Jan 18 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 Javascript
深入分析JavaScript 事件循环(Event Loop)
Jun 19 #Javascript
原生JS实现微信通讯录
Jun 18 #Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 #Javascript
js实现ajax的用户简单登入功能
Jun 18 #Javascript
JS实现躲避粒子小游戏
Jun 18 #Javascript
html-webpack-plugin修改页面的title的方法
Jun 18 #Javascript
vue实现购物车结算功能
Jun 18 #Javascript
You might like
php 魔术方法使用说明
2009/10/20 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
js函数调用的方式
2014/05/06 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
详解Python中的正则表达式
2018/07/08 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
Python定义一个函数的方法
2020/06/15 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
毕业生精彩的自我评价分享
2013/10/06 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
先进事迹演讲稿
2014/09/01 职场文书
年终工作总结范文
2019/06/20 职场文书
python的变量和简单数字类型详解
2021/09/15 Python
python函数的两种嵌套方法使用
2022/04/02 Python