在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对象和属性的创建方法
Jan 15 Javascript
javascript FormatNumber函数实现方法
Dec 30 Javascript
jquery插件jbox使用iframe关闭问题
Feb 09 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
基于JQuery 滑动与动画的说明介绍
Apr 18 Javascript
JS倒计时代码汇总
Nov 25 Javascript
javascript最基本的函数汇总
Jun 25 Javascript
JS实现自动定时切换的简洁网页选项卡效果
Oct 13 Javascript
详解Webpack实战之构建 Electron 应用
Dec 25 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
详解vue 组件
Jun 11 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 curl 伪造IP来源的实例代码
2012/11/01 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
js实现分页功能
2017/05/24 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
python发送邮件实例分享
2017/07/28 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
军训教官感言
2014/03/02 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
雨花台导游词
2015/02/06 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript