先列举一些例子

:class="['content',{'radioModel':checkType}]"
:class="['siteAppListDirNode',{open:appitem.open==true}]"
:class="['portalCenterMenu',{showNav:!showHideNav,hideNav:showHideNav}]"
:class="{shortcutMenuShow:!showHideNav,shortcutMenuHide:showHideNav}"
:style="{height:checkType?'423px':'385px'}"
:src="userInfo.userFace?userInfo.userFace:defaultHead"

再来看详细解释

Vue.js 的核心是一个响应的数据绑定系统,它允许我们在普通 HTML 模板中使用特殊的语法将 DOM “绑定”到底层数据。被绑定的DOM 将与数据保持同步,每当数据有改动,相应的DOM视图也会更新。基于这种特性,通过vue.js动态绑定class就变得非常简单。

1. 数据绑定

vue 指令以 v- 前缀标示,数据绑定的指令 v-bind:属性名, 简写为 :属性名, 简单的数据绑定例子如下:

<a v-bind:href="http://www.cnblogs.com/">博客园首页</a>简写:
<a :href="http://www.cnblogs.com/">博客园首页</a>

2. 动态绑定class

vue 的分隔符默认是 {{ }}, 在分隔符里面的字符串会被认为是数据变量,可以通过 class="{{ className }}" 方式设置class,但是vue不推荐这种方式与 v-bind:class 的方式混用,二者只能选其一。v-bind:class 虽然与class属性里绑定变量的方式不能共存,却可以与原生的class特性共存, 一个DOM标签中允许同时出现原生class和v-bind:class。

2.1 v-bind:class 支持string类型,不建议这样使用,因为string值是固定不变的,无法实现动态改变class的需求

HTML代码:
<div :class=" 'classA classB' ">Demo1</div>
渲染后的HTML:
<div class="classA classB">Demo1</div>

2.2 v-bind:class 支持数据变量,当变量值改变时,将同时更新class。v-bind:class指令的值限定为绑定表达式,如javascript表达式

HTML代码:
<div :class="classA">Demo2</div>Javascript代码:
data: {classA: 'class-a'  //当classA改变时将更新class
}
渲染后的HTML:
<div class="class-a">Demo2</div>

写在指令中的值会被视作表达式,如javascript表达式,因此v-bind:class接受三目运算:

HTML代码:
<div :class="classA ? 'class-a' : 'class-b' ">Demo3</div>渲染后的HTML:
<div class="class-a">Demo3</div>

2.3 v-bind:class 支持对象,对象改变时会动态更新class

HTML代码:
<div :class="{ 'class-a': isA, 'class-b': isB}">Demo4</div>Javascript代码:
data: {isA: false,  //当isA改变时,将更新classisB: true    //当isB改变时,将更新class
}
渲染后的HTML:
<div class="class-b">Demo4</div>
HTML代码:
<div :class="objectClass">Demo5</div>Javascript代码:
data: {objectClass: {class-a: true,class-b: false}
}渲染后的HTML:
<div class="class-a">Demo5</div>

2.4: v-bind:class支持数组, 数组里的变量改变时,会动态更新class列表

HTML代码:
<div :class="[classA, classB]">Demo6</div>Javascript代码:
data: {classA: 'class-a',classB: 'class-b'
}渲染后的HTML:
<div class="class-a class-b">Demo6</div>

数组中可以包含object类型,数组中的object对象改变,也会更新class列表

HTML代码:
<div :class="[classA, classB]">Demo7</div>Javascript代码:
data: {classA: 'class-a',objectClass: {classB: 'class-b',  // classB 的值为class-b, 则将classB的值添加到class列表classC: false,    // classC值为false,将不添加classCclassD: true    // classD 值为true,classC将被直接添加到class列表
}
}渲染后的HTML:
<div class="class-a class-b classD">Demo7</div>

总结:触类旁通,基本上都一样。

交流

共同进阶学

    

收藏图片 每天都可以领外卖红包

         

vue 中动态绑定class 和 style的方法相关推荐

  1. 关于Vue中动态绑定class和style的问题

    一.需求        今天碰到同事问了一个问题,根据后端返还的字段名字来绑定该名字的独有颜色,例如:'提现成功' --- 绿色.'提现失败' --- 红色. 她是这样写的::style=" ...

  2. vue中动态绑定背景图, 图片水平垂直居中

    vue中动态绑定背景图,并且使宽高不等的图片水平垂直居中 外层父元素固定宽高,让图片垂直居中的方法 <div style="width:200px;height:200px;" ...

  3. 【Vue】class style:Vue中的两种样式处理方法

    class属性 1.基本的class使用 <!DOCTYPE html> <html lang="en"> <head><meta cha ...

  4. vue指令写在html中的原理,详解Vue中的MVVM原理和实现方法

    对Vue中的MVVM原理解析和实现首先你对Vue需要有一定的了解,知道MVVM.这样才能更有助于你顺利的完成下面原理的阅读学习和编写下面由我阿巴阿巴的详细走一遍Vue中MVVM原理的实现,这篇文章大家 ...

  5. vue中展示列表,类似formatter方法及在vue中点击页面信息事件

    后台返回文件路径及文件名,前端展示只需要展示文件名,在Easyui中使用formatter方法很轻松就实现了,在vue中,需要使用过滤方式: formatterfj方法为截取字符串返回文件名 该方法应 ...

  6. vue定时ajax获取数据,vue 中使用 AJAX获取数据的方法

    在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: new Vue({ el:'#app', data:{data:&qu ...

  7. jsx怎么往js里传参数_在vue中使用jsx语法的使用方法

    什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到 我为什么要在vue中用JSX? 想折腾一下呗,开玩笑.最开始是因 ...

  8. Vue中同级组件之间的通讯方法(详解)

    比如我想在userVue.vue中调用headVue中的方法 1.首先先创建一个avatarRealTime.js,来打开组件之间的通讯接口 avatarRealTime中代码如下:引入vue,暴露出 ...

  9. vue中nbsp;失效的解决方法

    在vue中此种空格无效 <p>'助力数字政务       打造智慧信息系统      规范管理.让交易更安全便捷</p> 使用v-html=''可原样输出 <p v-ht ...

最新文章

  1. JDK动态代理和Cglib的动态代理
  2. 用PHP控制Nagios进程
  3. 用AndroidSDK中的Face Detector实现人脸识别
  4. Java 中单引号和双引号的区别
  5. 常用简单的sql语句
  6. Python爬虫你需要积累这些基本知识_Python学习基础路线
  7. mysql 1067
  8. ACS——网管的九阳神功
  9. 【故障分析】基于matlab三容水箱故障诊断【含Matlab源码 1485期】
  10. 计算机组成原理课后答案(唐朔飞第三版) 第三章
  11. 【转摘】芯片的本质是什么
  12. Sklearn-scaler对比
  13. vs 应用程序无法正常启动0xc000007b 可能与VS中DLL引用有关
  14. 微信小程序_页面加载不出来/页面跳转不成功的若干可能原因
  15. C#上位机与台达PLC通信,modbus TCP协议
  16. iOS二维码限制区域识别、扫描动画
  17. 解析explain执行计划
  18. 拿到项目的 基本流程
  19. 计算机excel教程,电脑安装excel教程的方法步骤详解
  20. 什么是脏读,不可重复读,幻觉读?

热门文章

  1. 2017-2018-2 20179202《网络攻防技术》第六周作业
  2. (产品贴)“应聘宝”产品分析报告
  3. ETD.sys蓝屏问题
  4. JS截取字符串的三种方法详解
  5. 英灵神殿服务器linux,Valheim英灵神殿Linux云服务器如何安装MOD?
  6. Objective-C KVO
  7. java动态代理实现步骤解析
  8. 次世代3D游戏建模好学吗?工资怎么样?前景怎么样?
  9. 苹果被开发者起诉:压低App收购价
  10. curl将文件放到服务器上,使用curl将文件上传到python flask服务器