在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 相关文章推荐
Javascript与vbscript数据共享
Jan 09 Javascript
THREE.JS入门教程(2)着色器-上
Jan 24 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
使用js的replace()方法查找字符示例代码
Oct 28 Javascript
javascript实现列表滚动的方法
Jul 30 Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
Jan 06 Javascript
vuejs父子组件通信的问题
Jan 11 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 Javascript
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
jquery tmpl模板(实例讲解)
Sep 02 jQuery
bootstrap中的导航条实例代码详解
May 20 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实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
vue全屏事件开发详解
2020/06/17 Javascript
python利用hook技术破解https的实例代码
2013/03/25 Python
利用python代码写的12306订票代码
2015/12/20 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python3并发写文件与Python对比
2019/11/20 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
html5 canvas-2.用canvas制作一个猜字母的小游戏
2013/01/07 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
家长给学校的建议书
2014/05/15 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL