千家信息网

vue 中怎么动态绑定class和style

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,vue 中怎么动态绑定class和style,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。先列举一些例子,按照你的需求套
千家信息网最后更新 2026年11月01日vue 中怎么动态绑定class和style

vue 中怎么动态绑定class和style,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。


先列举一些例子,按照你的需求套用就可以

: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:属性名, 简写为 :属性名, 简单的数据绑定例子如下:

aaa 简写:aaa

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代码:
Demo1
渲染后的HTML:
Demo1

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

HTML代码:
Demo2
Javascript代码:data: { classA: 'class-a' //当classA改变时将更新class}

渲染后的HTML:

Demo2

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

HTML代码:
Demo3
渲染后的HTML:
Demo3

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

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

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

HTML代码:
Demo6
Javascript代码:data: { classA: 'class-a', classB: 'class-b'}
渲染后的HTML:
Demo6

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

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

代码 数据 更新 动态 支持 变量 指令 数组 方式 表达式 对象 属性 需求 例子 分隔符 同时 特性 简写 类型 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 亿人帮互联网科技有限公司 盈实互联网科技 金融科技创新监管互联网金融 互联网 科技 互联网科技小额贷款 互联网科技大会 上海卓越科技 互联网 开启互联网科技时代小说 新华互联网科技2019 互联网企业和科技型企业 互联网科技和信息 广州新华互联网科技学校电竞方面 佛山市拉法互联网科技有限公司 上海科技产业互联网平台 黑云互联网科技有限公司 互联网科技包装股份有限公司上市 九思连强互联网电子科技有限公司 信承诺互联网科技有限公司 西安左小互联网科技有限公司 互联网新科技 成都互联网科技公司 互联网巨头投资的硬核科技 汉立互联网科技有限公司联系电话 玖二柒互联网科技公司待遇 哈尔滨屹滨互联网科技有限公司 想开互联网科技公司怎么样 深圳无忧互联网科技 科技互联网公司两年变化 如何强化互联网金融科技
0