在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
js中将字符串转换成json的三种方式
Jan 12 Javascript
基于jQuery的Tab选项框效果代码(插件)
Mar 01 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
jQuery前端分页示例分享
Feb 10 Javascript
Javascript中的方法和匿名方法实例详解
Jun 13 Javascript
谈谈对offsetleft兼容性的理解
Nov 11 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
Aug 20 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
Apr 01 Javascript
Vue中的Props(不可变状态)
Sep 29 Javascript
Javascript异步流程控制之串行执行详解
Sep 27 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中Date()时间日期函数的使用方法小结
2011/04/20 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
非常实用的php验证码类
2016/05/15 PHP
动态添加js事件实现代码
2009/03/12 Javascript
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
requireJS使用指南
2016/04/27 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
捕获未处理的Promise错误方法
2017/10/13 Javascript
Js面试算法详解
2018/04/08 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
Python标准库与第三方库详解
2014/07/22 Python
python中私有函数调用方法解密
2016/04/29 Python
python机器学习之贝叶斯分类
2018/03/26 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
巴西网上药房:onofre
2016/11/21 全球购物
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
团代会宣传工作方案
2014/05/08 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js
Python List remove()实例用法详解
2021/08/02 Python
Django框架中视图的用法
2022/06/10 Python
windows系统安装配置nginx环境
2022/06/28 Servers
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers