Vue中的动态 Class & Style

2023-09-14 16:16:58

动态 Class & Style

我们平时可以直接给元素设置静态的 Class 或者是 Style,但是这种方式会带来很多限制,假设我想要内容动态的改变 Class 或者是 Style,通过原生的方式要通过 JavaScript 频繁操作 dom 才能够实现。而在 Vue 中我们无需关心内部实现原理,可以直接给元素的 Class、Style 绑定一个变量或表达式,这样使得我们的代码更加灵活。

动态绑定 Class

对象语法

我们可以给 v-bind:class 赋值一个对象,对象的属性名就是要绑定的 class 名称,对象的属性值通常是布尔值 true 或者是 false,为 true 时样式名称会生效,为 false 时样式名称不会生效。属性值还可以是一个表达式,例如三元表达式。

<template>
    <div class="home">
        <div :class="myClass">xiaoming</div>
        <div :class="{ red: isActive, pink: isActive }">libai</div>
        <div :class="{ green: name === 'xiaoming' ? true : false }">anqila</div>
    </div>
</template>

<script>
export default {
    data() {
        return {
            myClass: {
                red: true
            },
            isActive: true,
            name: 'xiaoming'
        }
    }
}
</script>

预览效果

在这里插入图片描述

数组语法

我们可以给 v-bind:class 赋值一个数组,数组中可以编写多个 class 名称,可以是动态的也可以是静态,并且能够混合在一起使用。数组中的动态值可以是一个表达式或对象语法。

<template>
    <div class="home">
        <div :class="['red', myClass]">xiaoming</div>
        <div :class="['red', isActive ? 'pink' : 'blue']">libai</div>
        <div :class="['red', { aa: true, bb: true }]">anqila</div>
    </div>
</template>

<script>
export default {
    data() {
        return {
            myClass: 'pink',
            isActive: true
        }
    }
}
</script>

预览效果

在这里插入图片描述

动态绑定 Style

对象语法

写法其实和 Class 的写法是一样的,只不过对象的属性名称是 style 样式的名称。有些样式名称要写成小写驼峰的形式,或者是小写横杠但是要加上单引号。对象的值是 style 样式具体对应的值。

<template>
    <div class="home">
        <div :style="myClass">xiaoming</div>
        <div :style="{ fontWeight: 'bold' }">libai</div>
        <div :style="{ color: isActive ? 'red' : 'blue' }">anqila</div>
    </div>
</template>

<script>
export default {
    data() {
        return {
            myClass: {
                color: 'red',
                fontSize: '20px'
            },
            isActive: true
        }
    }
}
</script>

预览效果

在这里插入图片描述

数组语法

我们可以给 v-bind:class 赋值一个数组,数组的每一项就是对象的语法,可以把多个样式对象进行组合。

<template>
    <div class="home">
        <div :style="[style1, style2]">xiaoming</div>
    </div>
</template>

<script>
export default {
    data() {
        return {
            style1: {
                color: 'red'
            },
            style2: {
                fontSize: '20px'
            }
        }
    }
}
</script>

预览效果

在这里插入图片描述

原文链接:菜园前端

更多推荐

攻防世界-web-easyphp

1.题目描述打开链接,可以看到如下代码2.思路分析代码都给出来了,接下来就是理解代码的含义了,从代码中不难发现,总共传入三个参数a,b,c,分别需要满足以下条件:2.1a的长度小于等于3,但是转换成int后需要大于60000002.2对b计算md5值,md5的一部分为’8b184b’2.3c是一个json对象,其中c[

7-1_MSPI_NANDFLASH SDK例程详解

1.代码示例路径PRJ_M66_4.3.3\boards\apollo4l_blue_eb\examples\interfaces\mspi_ds35x1ga_quad_example\src\mspi_ds35x1ga_quad_example.c本文中主要讲解初始化流程内容2.MSPI通信示意图SCK(Serial

JavaScript系列从入门到精通系列第四篇:JavaScript基本语法(二)

文章目录前言一:Number类型1:字符串与Number类型2:检查数据类型3:Number最大值4:Number四则运算精确性二:布尔值1:布尔值数量2:布尔值类型查看三:Null和Undefined1:Null类型2:null值意义3:Undefined前言varstr="123";varstr="456";这么些

第七章 查找 五、二叉排序树

目录一、定义二、代码实现1、查找2、插入3、构造4、删除三、查找效率分析1、查找成功ASL2、查找失败ASL四、总结一、定义二叉排序树(BinarySearchTree,BST)是一种特殊的二叉树,它满足以下条件:若左子树不为空,则左子树上所有节点的值(权值)均小于它的根节点的值;若右子树不为空,则右子树上所有节点的值

《Docker与Kubernetes容器运维实战》简介

#好书推荐##好书奇遇季#《Docker与Kubernetes容器运维实战》已经出版。本书帮助读者系统掌握Docker与K8s运维技能。本书内容本书分两部分系统介绍Docker与Kubernetes的运维技术。(1)Docker部分包括:全面认识Docker、初步体验Docker、Docker基本管理、Docker仓库

springboot

回顾spring轻量级的:指的是spring核心功能的jar包不大。非侵入式的:业务代码不需要继承或实现spring中任何的类或接口IOC:控制反转(InverseofControl),以前项目都是在哪儿用到对象,在哪儿new,把生成对象的权利反转给spring框架,可以对对象进行功能的增强(让spring把对象管理起

分类问题和回归问题的区别是什么?

分类问题和回归问题是机器学习和统计分析中两种不同类型的问题,它们的主要区别在于其目标和处理方式:问题类型:分类问题(Classification):在分类问题中,目标是将数据分为不同的类别或标签。这意味着模型的输出是一个离散值,通常代表预定义的类别。例如,垃圾邮件检测是一个分类问题,它需要将电子邮件分为两个类别:垃圾邮

Python爬虫深度优化:Scrapy库的高级使用和调优

在我们前面的文章中,我们探索了如何使用Scrapy库创建一个基础的爬虫,了解了如何使用选择器和Item提取数据,以及如何使用Pipelines处理数据。在本篇高级教程中,我们将深入探讨如何优化和调整Scrapy爬虫的性能,以及如何处理更复杂的抓取任务,如登录,处理Cookies和会话,以及避免爬虫被网站识别和封锁。一、

探索人工智能 | 计算机视觉 让计算机打开新灵之窗

前言计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。文章目录前言主题原理常用算法CNNSVM应用自动驾驶医学影像分析无人机和机器人小结面临挑战总结主题计算机视觉既是工程领域

OpenCV实战(27)——追踪视频中的特征点

OpenCV实战(27)——追踪视频中的特征点0.前言1.追踪视频中的特征点2.特征点追踪原理3.完整代码小结系列链接0.前言我们已经知道可以通过一些最独特的点来分析图像,对于图像序列同样如此,其中一些特征点的运动可用于了解捕获场景的不同元素如何移动。在本节中,我们将学习如何在特征点逐帧移动时通过跟踪特征点来执行序列的

Hadoop生态圈中的数据同步工具SQOOP

Hadoop生态圈中的数据同步工具SQOOP一、sqoop的概念二、sqoop的核心功能1、数据导入import2、数据导出export三、sqoop的底层实现四、sqoop的安装和部署五、sqoop的基本操作1、sqoop查看RDBMS中有哪些数据库2、sqoop查看某一个数据库下有哪些数据表3、通过sqoop执行s

热文推荐