例如:想给图片增加高度和宽度

<el-image :class="classRotation"v-if="imageData.src !== undefined":src="data:imageData.src":style="imageStyle">
</el-image>//在data中声明 imageStyle
data(){return{imageData:{},imageStyle :{}, //样式参数对象classRotation:'',positionAndSizeData:{}}
},

我这里的业务场景是监听 positionAndSizeData 数据变化设置样式(imageStyle):

watch:{positionAndSizeData:{handler(){//通过this.$set('目标数据','key','value');给imageStyle 追加数据this.$set(this.imageStyle,'height',this.positionAndSizeData.h + 'px');this.$set(this.imageStyle,'width',this.positionAndSizeData.w + 'px'); },deep:true,immediate:true},
},

使用filters过滤器设置样式:

<div v-if="properties.property.json.type=='1'"><!-- :style="数据源|过滤方法" --><span v-if="properties.property.json.label.show" :style="properties.property.json.label|styleFilter"> {{properties.property.json.label.value}}</span>
</div>
filters: {styleFilter(val) {return {'fontSize': val.fontSize + 'px','color': val.color,'letterSpacing': val.letterSpacing + 'px','fontWeight': val.fontWeight}}
},
//或者处理完后return出去
// filters: {
//   styleFilter(val) {
//     let temp = JSON.parse(JSON.stringify(val));
//     temp['fontSize'] = val['fontSize'] + 'px'
//     temp['letterSpacing'] = val['letterSpacing'] + 'px'
//     return temp
//   }
// },

下面是我项目里的使用

 <p  :style="card.member_card.base_info.color | colorFilter('bonus')">200</p>
 filters: {colorFilter: function (value, type) {if (!value) return ''const colorObj = {'Color010': '#63b359','Color020': '#2c9f67','Color030': '#509fc9','Color040': '#5885cf','Color050': '#9062c0','Color060': '#d09a45','Color070': '#e4b138','Color080': '#ee903c','Color081': '#f08500','Color082': '#a9d92d','Color090': '#dd6549','Color100': '#cc463d','Color101': '#cf3e36','Color102': '#5E6671'}if (type === 'bonus') {return 'color:' + colorObj[value]} else {return colorObj[value]}}

vue中动态设置style样式和使用filters过滤器设置样式相关推荐

  1. vue中动态设置背景渐变色

    vue中动态设置背景渐变色 1.效果展示 2.核心(动态更换单一的背景颜色也可以使用) <div class="ss" v-bind:style="{ backgr ...

  2. vue中动态引入图片为什么要是require, 你不知道的那些事

    相信用过vue的小伙伴,肯定被面试官问过这样一个问题:在vue中动态的引入图片为什么要使用require 有些小伙伴,可能会轻蔑一笑:呵,就这,因为动态添加src被当做静态资源处理了,没有进行编译,所 ...

  3. VUE中动态改变字体大小

    VUE中动态改变字体大小 父组件将自己的数据传递送给子组件展示,子组件监听click操作,emit发送出去,父组件监听通过emit发送的信息,改变控制字体大小的postFontSize,通过style ...

  4. Vue中 动态添加class写法 动态静态clas混合

    Vue中 动态添加class写法 动态静态clas混合 示例 //fx,cont-block为静态class ob为动态class <div :class="[ 'fx','cont- ...

  5. vue中动态样式不起作用? scoped了解一下

    vue中style标签使用属性scoped的注意事项 style上添加属性scoped可以实现样式私有化,但是在使用动态样式时,样式会不起作用.可以先去掉scoped 转载于:https://www. ...

  6. Vue中动态使用JavaScript修改CSS样式

    文章目录 前言 一.实现目标效果的难点 二.使用Computed配合CSS变量完成动态修改CSS 1.设置Computed属性以及slider行内属性 2. 设置css样式(这里使用的是原生css,l ...

  7. vue中动态获取dom元素进行操作

    这几天我远程面试了一家公司,期间问题我都回答上来了 但有一个问题我很纳闷 就是你说下vue中获取dom元素的方法吧 我说大体上俩中吧  1.vue中 ref的方法 给元素起一个ref名称 通过  th ...

  8. javascript中动态加载js、vbs脚本或者css样式表

    目录:DynamicLoad类简介.属性.方法.事件.示例.下载. DynamicLoad类简介 本文将为您介绍一个在javascript中可以动态加载js.vbs脚本和css样式表的DynamicL ...

  9. vue中,静态书写select的option选项时如何设置默认选中项

    @mishu vue中,静态书写select标签的option选项时如何设置默认选中项 在vue框架下,给select标签使用v-model绑定数据时,我们的selected=''selected'' ...

最新文章

  1. python配置文件密码管理_python – 可以在django管理员中实现“下次登录时更改密码”类型功能吗?...
  2. leetcode896. 单调数列
  3. ThinkPHP V5.0 正式版发布
  4. 《Python游戏趣味编程》标准IDE运行游戏代码的配置方法
  5. C#中sql备份与还原
  6. 通过UDP解析域名 DNS解析
  7. UBOOT下自定义显示BMP图片
  8. 树莓派cm4 ioboard配置虚拟网卡、静态ip、dhcp服务
  9. linux 字幕制作工具,Arctime可视化字幕编辑器–做字幕从未如此简单
  10. 4.3 jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company**
  11. 小马哥---高仿红米note 主板型号W9-MP-V 1.2字库损坏 软件修复实例
  12. Linux基础知识-1
  13. 电脑自带播放器怎么倍速播放视频
  14. html请求的跨域问题
  15. 十大著名的思想实验(程序员应该会读喜欢这些)
  16. 如何以npy文件存储numpy数组呀
  17. 同步电机模型的SIMULINK仿真
  18. (二)DSP28335基础教程——GPIO输入(矩阵按键扫描)
  19. VUEcli3设置页签图标
  20. 网络舆情事件发展趋势变化监测分析的方法

热门文章

  1. TensorFlow模型转换h5转pb
  2. C#事件中的两个参数(object sender,EventArgs e)
  3. MAT分析OOM问题
  4. JavaWeb学习总结(十二):Session
  5. 求最大值及其下标编程总结
  6. Kubernetes-连接Harbor仓库拉取镜像
  7. 百度地图实现定位功能
  8. ios学习--TableView详细解释
  9. 删除重复记录处理(转)
  10. (转)40种网站设置技巧