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

【Vue】动态设置元素类以及样式

Vue2 动态设置元素类以及样式

1.动态设置类 class

1.1 字符串语法

通过v-bind绑定元素的class属性,为其指定一个字符串:

<div v-bind:class="className">class动态绑定</div>
<script>
export default {data() {return {className: 'app'}}
}
</script>

此时我们可以通过改变className变量来切换样式。注意,当className'' 时,这个class属性仍然会被添加到真实DOM上,只不过没有值。

1.2 对象语法

通过v-bind绑定元素的class属性,为其指定一个对象:

<div v-bind:class="{active: isActive}">class动态绑定</div>
<script>
export default {data() {return {isActive: true}}
}
</script>

在上面的例子中,这个元素身上的class属性是否包含active,取决于数据isActive的值。当isActivetrue时,渲染结果如下:

<div class="active">class动态绑定</div>

而当我们动态修改isActive的值时,该元素的class属性也会动态更新,将值改为false

<div class>class动态绑定</div>

进一步地,对象中可以传入多个className

<div v-bind:class="{active: isActive, danger: isDanger}">class动态绑定</div>
<script>
export default {data() {return {isActive: true,isDanger: true}}
}
</script>

此时的渲染结果为:

<div class="active danger">class动态绑定</div>

当然,v-bind绑定的class属性也可以与普通的class并存:

<div class="common" v-bind:class="{active: isActive, danger: isDanger}">class动态绑定</div>
<script>
export default {data() {return {isActive: true,isDanger: true}}
}
</script>

此时渲染结果为:

<div class="common active danger">class动态绑定</div>

另外,当需要动态绑定的className太多时,不需要内联定义在模板中,此时可以选择在data中定义一个对象,或使用计算属性

<div class="common" v-bind:class="classObj1">class动态绑定 --- data中定义对象</div>
<div class="common" v-bind:class="classObj2">class动态绑定 --- 计算属性</div>
<script>
export default {data() {return {isActive: true,isDanger: true,classObj1: {active: true,danger: true}  }},computed: {classObj2() {return {active: this.isActive,danger: this.isDanger}}}
}
</script>

1.3 数组语法

通过v-bind绑定元素的class属性,为其指定一个数组:

<div v-bind:class="[className, 'common']"></div>
<script>
export default {data() {return {className: 'app'}}
}
</script>

此时的渲染结果:

<div class="common app"></div>

使用数组,里边的值可以是响应式的也可以是普通类名,同时也可以使用三元表达式,甚至可以结合上面的对象语法使用:

<div v-bind:class="[className, 'common', isActive ? 'active': '', { danger: isDanger }]"></div>
<script>
export default {data() {return {className: 'app',isAcive: true,isDanger: true,}}
}
</script>

2.动态绑定样式 Style

2.1 字符串语法

通过v-bind绑定元素的style属性,为其指定一个字符串:

<div v-bind:style="style">style动态添加</div>
<script>
export default {data() {return {style: 'color: red'}}
}
</script>

2.3 对象语法

通过v-bind绑定元素的style属性,为其指定一个对象,对象语法十分直观 —— 看着非常像 CSS,但其实是一个js对象。CSS 名可以用驼峰式短横线分隔 (记得用引号括起来) 来命名。:

<div v-bind:style="{ color: color, fontSize: fontSize + 'px', (padding-left): paddingLeft }"></div>
<script>
export default {data() {return {style: 'red',fontSize: 30,paddingLeft: '10px'}}
}
</script>

既然可以使用对象语法,那么同样的,style也可以data中定义一个对象或者使用计算属性

2.3 数组语法

通过v-bind绑定元素的style属性,为其指定一个数组,数组中可以为多个样式对象:

<div v-bind:style="[styleObj, overridingStyles]"></div>
<script>
export default {data() {return {color: 'red',fontSize: '30px',overridingStyles: {color: 'blue',fontSize: '40px'}}},computed: {styleObj() {return {color: this.color,fontSize: this.fontSize}}}
}
</script>

相关文章:

【Vue】动态设置元素类以及样式

Vue2 动态设置元素类以及样式 1.动态设置类 class 1.1 字符串语法 通过v-bind绑定元素的class属性&#xff0c;为其指定一个字符串&#xff1a; <div v-bind:class"className">class动态绑定</div> <script> export default {data() {return {…...

node和前端项目宝塔部署

首先需要一台服务器 购买渠道&#xff1a;阿里云、腾讯云、百度云、华为云 一、以阿里云为例 购买esc 可临时购买测试服务器 二、安装宝塔 复制公网ip地址 通过Xshell 进行账号密码的连接 连接后访问宝塔官网 宝塔面板下载&#xff0c;免费全能的服务器运维软件 找到自己…...

【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭

基于Python Flask的上海美食信息与可视化宣传网站&#xff08;获取方式访问文末官网&#xff09; 一、项目简介二、开发环境三、项目技术四、功能结构五、运行截图六、功能实现七、数据库设计八、源码获取 一、项目简介 随着大数据和人工智能技术的迅速发展&#xff0c;我们设…...

【HTML】HTML面试知识梳理

目录 DOCTYPE&#xff08;文章类型&#xff09;head标签浏览器乱码的原因及解决常用的meta标签与SEOscript标签中defer和async的区别src&href区别HTML5有哪些更新语义化标签媒体标签表单进度条、度量器DOM查询Web存储Canvas和SVG拖放 &#xff08;HTML5 drag API&#xff0…...

Java进阶篇--IO流的第二篇《多样的流》

目录 Java缓冲流 BufferedReader和BufferedWriter类 Java随机流 Java数组流 字节数组流 ByteArrayInputStream流的构造方法&#xff1a; ByteArrayOutputStream流的构造方法&#xff1a; 字符数组流 Java数据流 Java对象流 Java序列化与对象克隆 扩展小知识&#x…...

iPhone 14 Pro 动态岛的功能和使用方法详解

当iPhone 14 Pro机型发布时,苹果公司将软件功能与屏幕顶部的药丸状切口创新集成,称之为“灵动岛”,这让许多人感到惊讶。这篇文章解释了它的功能、工作原理,以及你如何与它互动以执行动作。 一、什么是灵动岛?它是如何工作的 在谣言周期的早期‌iPhone 14 Pro‌ 在宣布时…...

掌握这20条你将超过90%的测试员

1、不断学习 不管是“软技能”&#xff0c;比如公开演讲&#xff0c; 或者编程语言&#xff0c;亦或新的测试技术&#xff0c;成功的软件测试工程师总是会从繁忙中抽出时间来坚持学习。 2、管理你的时间 我们的时间很容易被大块的工作和不断的会议所占据&#xff0c;导致我们…...

LightDB create table时列约束支持enable/disable关键字

功能介绍 为了方便用户从Oracle数据库迁移到LightDB数据库&#xff0c;LightDB从23.3版本开始支持 create table时列约束支持enable/disable关键字。这个功能仅是语法糖。 使用说明 执行create table时&#xff0c;列约束后面可以选择性添加enable/disable关键字。 create …...

使用BeeWare实现iOS调用Python

1、准备工作 1.1、安装Python 1.2、设置虚拟环境 我们现在将创建一个虚拟环境——一个“沙盒”&#xff0c;如果我们将软件包安装到虚拟环境中&#xff0c;我们计算机上的任何其他Python项目将不会受到影响。如果我们把虚拟环境搞得一团糟&#xff0c;我们将能够简单地删除它…...

无公网IP内网穿透使用vscode配置SSH远程ubuntu随时随地开发写代码

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…...

二叉树、红黑树、B树、B+树

二叉树 一棵二叉树是结点的一个有限集合&#xff0c;该集合或者为空&#xff0c;或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。 二叉树的特点&#xff1a; 每个结点最多有两棵子树&#xff0c;即二叉树不存在度大于2的结点。二叉树的子树有左右之分&#xf…...

12,【设计模式】工厂

设计模式工厂 通过工程来构建任意参数对象&&std::forwardstd::move 在C中&#xff0c;“工厂”&#xff08;Factory&#xff09;是一种设计模式&#xff0c;它提供了一种创建对象的方式&#xff0c;将对象的创建和使用代码分离开来&#xff0c;提高了代码的可扩展性和可…...

mysql 8.0 窗口函数 之 分布函数 与 sql server (2017以后支持) 分布函数 一样

mysql 分布函数 percent_rank&#xff08;&#xff09; &#xff1a;等级值 百分比cume_dist() &#xff1a;累积分布值 percent_rank&#xff08;&#xff09; 计算方式 (rank-1)/(rows-1)&#xff0c; 其中 rank 的值为使用RANK()函数产生的序号&#xff0c;rows 的值为当前…...

Python Opencv实践 - 图像直方图自适应均衡化

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/cat.jpg", cv.IMREAD_GRAYSCALE) print(img.shape)#整幅图像做普通的直方图均衡化 img_hist_equalized cv.equalizeHist(img)#图像直方图自适应均衡化 #1. 创…...

Linux编程:在程序中异步的调用其他程序

Linux编程:execv在程序中同步调用其他程序_风静如云的博客-CSDN博客 介绍了同步的调用其他程序的方法。 有的时候我们需要异步的调用其他程序,也就是不用等待其他程序的执行结果,尤其是如果其他程序是作为守护进程运行的,也无法等待其运行的结果。 //ssss程序 #include …...

04有监督算法——支持向量机

1.支持向量机 1.1 定义 支持向量机( Support Vector Machine &#xff09;要解决的问题 什么样的法策边界才是最好的呢? 特征数据本身如果就很难分,怎么办呢? 计算复杂度怎么样?能实际应用吗? 支持向量机&#xff08; Support Vector Machine , SVM)是一类按监督学习( s…...

macos 使用vscode 开发python 爬虫(安装一)

使用VS Code进行Python爬虫开发是一种常见的选择&#xff0c;下面是一些步骤和建议&#xff1a; 安装VS Code&#xff1a;首先&#xff0c;确保你已经在你的macOS上安装了VS Code。你可以从官方网站&#xff08;https://code.visualstudio.com/&#xff09;下载并安装最新版本…...

专有网络VPC私网/公网类产品选择

私网类产品选择 VPC互连&#xff1a;云企业网&#xff0c;对等连接 VPC与本地IDC互连&#xff1a;VPN网关&#xff0c;高速通道&#xff0c;云企业网&#xff0c;智能接入网关 VPC与多站点连接&#xff1a;VPN网关&#xff0c;智能接入网关&#xff0c;VPN网关高速通道 远程接…...

Connect-The-Dots靶场

靶场下载 https://www.vulnhub.com/entry/connect-the-dots-1,384/ 一、信息收集 探测存活主机 netdiscover -r 192.168.16.161/24nmap -sP 192.168.16.161/24端口操作系统扫描 nmap -sV -sC -A -p 1-65535 192.168.16.159扫描发现开放端口有 21 ftp 80 http 20…...

Linux解决RocketMQ中NameServer启动问题

启动步骤可以查看官网&#xff0c;https://github.com/apache/rocketmq 一下说明遇到的问题。 1&#xff1a;ROCKETMQ_HOME问题 根据官网提示进入mq/bin目录下&#xff0c;可以使用./mqnamesrv进行NameServer启动&#xff0c;但是会遇到第一个问题&#xff0c;首次下载Rocket…...

js逆向实战之某书protobuf反序列化

什么是Protobuf&#xff1f; \qquad Protobuf&#xff08;Protocol Buffer&#xff09;是 Google 开发的一套数据存储传输协议&#xff0c;作用就是将数据进行序列化后再传输&#xff0c;Protobuf 编码是二进制的&#xff0c;它不是可读的&#xff0c;也不容易手动修改&#xf…...

cpolar+JuiceSSH实现手机端远程连接Linux服务器

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …...

[MyBatis系列②]Dao层开发的两种方式

目录 1、传统开发 1.1、代码 1.2、存在的问题 2、代理开发 2.1、开发规范 2.2、代码 ⭐mybatis系列①&#xff1a;增删改查 1、传统开发 传统的mybatis开发中&#xff0c;是在数据访问层实现相应的接口&#xff0c;在实现类中用"命名空间.id"的形式找到对应的映…...

言语理解-中心理解之主题词及行文脉络

例题 例题 例题 例题 例题 例题...

LeetCode 面试题 01.05. 一次编辑

文章目录 一、题目二、C# 题解法一&#xff1a;从第一个不同位置处判断后续相同子串法二&#xff1a;前后序遍历判断第一个不同字符的位置关系 优化法一法二 一、题目 字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。 给定两个字符串&#xff…...

Mybatis查询in的字段过多不走索引

mybatis查询in的字段有索引&#xff0c;比如说是主键查询&#xff0c; 但是in的字段过多导致索引失效&#xff0c; 这个时候可以考虑将in的数量变少&#xff0c; 200以内都可以&#xff0c; 在数据库方面采用 foreach unionall 的方式将数据集合查询出来 Service层: List<…...

封装公共el-form表单(记录)

1.公共表单组件 //commonForm.vue <script> import {TEXT,SELECT,PASSWORD,TEXTAREA,RADIO,DATE_PICKER } from /conf/uiTypes import { deepClone } from /utils export default {name: GFormCreator,props: {config: { // title/itemstype: Object,required: true}}…...

List 分批处理

1.Google Guava <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>31.0.1-jre</version></dependency>List<String> tempList Arrays.asList("水星","金星&qu…...

SpringSession

Spring Session 是 Spring 的项目之一。Spring Session 提供了一套创建和管理 Servlet HttpSession 的方案&#xff0c;默认采用外置的 Redis 来存储 Session 数据&#xff0c;以此来解决 Session 共享的 问题。(springsession储存session数据的方式有很多&#xff0c;我们常…...

Python Web 开发之 JWT 简介

在之前的课程中,介绍过 Flask-Login 框架&#xff0c;它是基于 Session 和 Cookie 技术来实现用户授权和验证的&#xff0c;不过 Session 有很多的局限性&#xff0c;这一节介绍一种基于 token 的验证方式 —— JWT (JSON Web Token)&#xff0c;除了对 JWT 的概念讲解之外&…...

百度地图嵌入wordpress/网络营销的功能有哪些?

对于一个项目而言&#xff0c;项目管理过程中最重要的是履约创效&#xff0c;是衡量一个项目实际的管理水平。 所谓履约指的是企业在发展的过程中&#xff0c;实际履行合同的能力&#xff0c;对于基层项目来说&#xff0c;履约能力的高低能够从项目的工期&#xff0c;质量&…...

宿州网站建设/2023新闻摘抄大全

导读在医学技术飞速发展的今天&#xff0c;不少人还是会提“癌”色变&#xff0c;视癌症为“绝症”的代名词。加拿大多伦多大学的研究人员开发了一款新型纳米机器人&#xff0c;它将带领我们从细胞的角度&#xff0c;更加直观地观测细胞在癌症不同时期的状态&#xff0c;为癌症…...

高端模板网站建设公司/seo引擎搜索网站

模块的引入方式&#xff1a; 1.import 模块名&#xff1a;导入模块中的所有内容&#xff08;引入多个用逗号分隔&#xff09; import random,time 2.from 模块名 import 函数名1&#xff0c;函数名2... 导入部分模块 &#xff08;导入部分的话直接使用&#xff09; 3.from 模块…...

学会wordpress 怎么赚钱/百度学术查重

向然学习资料网为同学们提供伍德里奇计量经济学导论第4版网课伍德里奇《计量经济学导论》(第4版)网授精讲班【教材精讲&#xff0b;考研真题串讲】网课目录伍德里奇《计量经济学导论》(第4版)网授精讲班【共54课时】序号 名称 课时1 绪论 00:45:212 第1章 计量经济学的性质与经…...

java 网站开发实例教程/seo整站优化推广

http://zhidao.baidu.com/question/82711899.html C#隐藏和显示窗体 悬赏分&#xff1a;10 - 解决时间&#xff1a;2009-1-18 13:28 Main方法启动窗体A&#xff0c;现在点击窗体A的一个按钮&#xff0c;打开窗体B&#xff0c;这时窗体A隐藏。当关闭窗体B时&#xff0c;窗体A再显…...

如何用flash做网站/营销技巧培训

环境&#xff1a;VC toolkit 2003 SystemC 2.0.1 为了找出SystemC定义了哪些全局变量/静态变量&#xff0c;我在crt/src/crt0dat.c的 void _initterm(_PVFV * pfbegin, _PVFV * pfend) 函数中设下断点&#xff0c;at Line 598&#xff1a; if ( *pfbegin ! NULL ) …...