在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本身的局限性 别让javascript做太多事
Mar 23 Javascript
Tinymce+jQuery.Validation使用产生的BUG
Mar 29 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
Jan 23 Javascript
js单词形式的运算符
May 06 Javascript
jquery验证邮箱格式并显示提交按钮
Nov 07 Javascript
TinyMCE汉化及本地上传图片功能实例详解
May 31 Javascript
JavaScript实现滑动导航栏效果
Aug 30 Javascript
ES6 javascript中Class类继承用法实例详解
Oct 30 Javascript
JavaScript中变量提升与函数提升经典实例分析
Jul 26 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
Apr 11 Javascript
JavaScript常用工具函数汇总(浏览器环境)
Sep 17 Javascript
原生JS生成指定位数的验证码
Oct 28 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中unlink()、mkdir()、rmdir()等方法的使用介绍
2012/12/21 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
js中的string.format函数代码
2020/08/11 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
python抓取网页图片示例(python爬虫)
2014/04/27 Python
Python入门篇之条件、循环
2014/10/17 Python
简单介绍Python中的decode()方法的使用
2015/05/18 Python
python中requests小技巧
2017/05/10 Python
Python装饰器用法实例总结
2018/05/26 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
初婚初育证明范本
2014/11/24 职场文书
2014年卫生工作总结
2014/11/27 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL