vue2,style标签中引用data变量

需求:点击放大缩小按钮,动态改变el-form所有label和content部分的字体大小。

因为我们要修改的样式是el-form的子元素el-form-item的label和content的字体大小,要先给el-form绑定计算属性return一个变量A,再通过按钮动态改变字体大小。再style中通过通过var()关键字,使用--符号引用变量A。

javascript 复制代码
<div>
    <i class="el-icon-zoom-in" @click="zoomIn"></i>
    <i class="el-icon-zoom-out" @click="zoomOut"></i>
</div>
<div class="box1">
    <el-form ref="form" label-width="140px" label-position="left" :style="fontSizeVar">
                <el-form-item label="类型:">{{
                  curRow.type
                }}</el-form-item>
                <el-form-item label="位置:">{{
                  curRow.position
                }}</el-form-item>
    </el-form>
</div>


data(){
    return {
      fontSize :14
    }
},
computed:{
    fontSizeVar(){
      return {
        '--fontsize':this.fontSize + 'px'
      }
    },
}

methods:{
    zoomIn(){
        if(this.fontSize < 24){
            this.fontSize  += 2
          }
    },
    zoomOut(){
        if(this.fontSize > 14){
            this.fontSize -= 2
          }
    },
}

style样式:使用var调用data中的变量
       .box1{
          ::v-deep .el-form-item__label{
            font-size: var(--fontsize);
          }
          ::v-deep .el-form-item__content{
            font-size: var(--fontsize);
          }
          .el-button{
            font-size: var(--fontsize);
          }
        }
相关推荐
傻小胖2 分钟前
React 生命周期完整指南
前端·react.js
梦境之冢41 分钟前
axios 常见的content-type、responseType有哪些?
前端·javascript·http
racerun44 分钟前
vue VueResource & axios
前端·javascript·vue.js
J总裁的小芒果1 小时前
THREE.js 入门(六) 纹理、uv坐标
开发语言·javascript·uv
m0_548514771 小时前
前端Pako.js 压缩解压库 与 Java 的 zlib 压缩与解压 的互通实现
java·前端·javascript
AndrewPerfect1 小时前
xss csrf怎么预防?
前端·xss·csrf
Calm5501 小时前
Vue3:uv-upload图片上传
前端·vue.js
浮游本尊1 小时前
Nginx配置:如何在一个域名下运行两个网站
前端·javascript
m0_748239831 小时前
前端bug调试
前端·bug
m0_748232921 小时前
[项目][boost搜索引擎#4] cpp-httplib使用 log.hpp 前端 测试及总结
前端·搜索引擎