当前位置: 首页 > news >正文

Vue中Class数据绑定

Class数据绑定

数据绑定的一个常见需求场景是操作CSS class列表,因为class是attribute(属性),我们可以和其他attribute一样使用v-bind 将它们和动态的字符串绑定。但是,在处理比较复杂的绑定时,通过拼接生成字符串是麻烦且容易出错的。因此,Vue 专门为class 的v-bind 用法提供了特殊的功能增强。除了字符串外,表达式的值也可以是数组或对象。

绑定对象Object

<template>
<h3>class数据绑定</h3>
<hr>
<div :class="{active:isActive,'text-danger':hasError}">isActive</div>
<button @click="exchage">切换</button></template>
<script>export default {
data(){return{isActive:true,hasError:true}
},
methods:{exchage(){this.isActive=!this.isActive}
}
}</script>
<style scoped>
.active{color:red;
}
</style>

运行结果
未切换前:
在这里插入图片描述
切换后:
在这里插入图片描述

多个对象绑定

<template>
<h3>class数据绑定</h3>
<hr>
<div :class="classObject">isActive</div>
<button @click="exchage">切换</button></template>
<script>export default {
data(){return{classObject:{active:true,'text-danger':true}}
},
methods:{exchage(){this.classObject.active = !this.classObject.active}
}
}</script>
<style scoped>
.active{color:rgb(132, 0, 255);font-size: large;
}
</style>

运行结果:
切换前:
在这里插入图片描述
切换后:
在这里插入图片描述

数组绑定

<template><h3>class数据绑定</h3><hr><div :class="[activeClass,errorClass]">isActive</div></template><script>export default {data(){return{activeClass: 'active',errorClass:'text-danger'}},}</script><style scoped>.active{color:red;}</style>

运行结果:
在这里插入图片描述
如果你想在数组中渲染某个class,你可以使用三元表达式。

<template><h3>class数据绑定</h3><hr><div :class="[isActive ? 'active' : '']">isActive</div><button @click="exchage">切换</button></template><script>export default {data(){return{isActive:true,}},methods:{exchage(){this.isActive=!this.isActive}}}</script><style scoped>.active{color:red;}</style>

运行结果:
在这里插入图片描述
切换:
在这里插入图片描述
数组和对象

<template><h3>class数据绑定</h3><hr><div :class="[{'active':isActive},errorClass]">isActive</div><button @click="exchage">切换</button></template><script>export default {data(){return{isActive:true,errorClass:"text-danger"}},methods:{exchage(){this.isActive=!this.isActive}}}</script><style scoped>.active{color:red;}</style>

运行结果:
在这里插入图片描述

温馨提示:
数组和对象的嵌套过程中,只能数组嵌套对象,不能反其道而行。

http://www.lryc.cn/news/393328.html

相关文章:

  • Python数据分析案例49——基于机器学习的垃圾邮件分类系统构建(朴素贝叶斯,支持向量机)
  • 贪心算法-以学籍管理系统为例
  • PyCharm 安装
  • C++:对象指针访问成员函数
  • Linux 防火墙配置指南:firewalld 端口管理应用案例(二十个实列)
  • 推荐Bulk Image Downloader插件下载网页中图片链接很好用
  • 详解前缀码与前缀编码
  • 数据库管理工具 -- Navicat Premium v17.0.8 特别版
  • 【Linux】进程创建和终止 | slab分配器
  • 计算机网络--网络层
  • 【CSS】如何实现分栏布局
  • 2025湖北武汉智慧教育装备信息化展/智慧校园展/湖北高博会
  • Android Studio Run窗口中文乱码解决办法
  • 代码随想录——划分字母区间(Leetcode763)
  • SQL注入方法
  • Vue表单输入绑定v-model
  • 【分布式系统】ELK 企业级日志分析系统
  • vs2019 无法打开项目文件
  • Elasticsearch:Painless scripting 语言(一)
  • SpringBoot项目练习
  • Android Gradle 开发与应用 (七): Gradle 插件开发与发布
  • 方法引用详解
  • Apache Seata 高可用部署实践
  • nginx配置尝试
  • SAR目标检测
  • 创新配置,秒级采集,火爆短视频评论抓取
  • STL—容器—string类【对其结构和使用的了解】【对oj相关练习的训练】
  • 讲个SystemVerilog随机约束小坑
  • mysql在windows下的安装
  • uniapp 在手机上导出excel