VUE中如何动态绑定类名和样式
作者:A7Feather 发布时间:2024-04-26 17:41:35
标签:VUE,动态绑定,类名,样式
VUE动态绑定类名和样式
1、使用v-bind属性绑定class和style属性
2、动态类名两种方式:
对象形式:给对象属性赋boolean类型值
数组配合三元运算符,通过改变条件的真假实现类名的添加和删除
<template>
<div>
<div :class="classObj">动态绑定对象</div>
<div :class="['namebox', activeStatus ? 'activeNamebox' : '']">
动态绑定数组
</div>
</div>
</template>
<script>
export default {
data() {
return {
classObj: {
namebox: true,
activeNamebox: false
},
activeStatus: false
}
}
}
</script>
<style>
.namebox {
color: #777;
}
.activeNamebox {
background-color: aquamarine;
}
</style>
3、动态样式的两种方式
对象形式
数组(包含样式对象)形式:可以同时添加多个样式对象
<template>
<div>
<div :style="styleObj1">对象形式</div>
<div :style="[styleObj1, styleObj2]">数组形式</div>
</div>
</template>
<script>
export default {
data() {
return {
styleObj1: {
color: '#eee'
},
styleObj2: {
textAlign: center
}
}
}
}
</script>
<style></style>
动态绑定样式——动态绑定style写法 & 动态class写法
1、动态绑定style写法
注意:
凡是有-的style属性名都要变成驼峰式,比如font-size要变成fontSize
除了绑定值,其他的属性名的值要用引号括起来,比如backgroundColor:'#00a2ff'而不是 backgroundColor:#00a2ff
1.1、对象
<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
<div :style="{color:(index == 1 ? conFontColor:'#000')}"></div>
1.2、数组
<div :style="[baseStyles, overridingStyles]"></div>
<div :style="[{color:(index == 1 ? conFontColor:'#000')},{fontSize:'18px'}]"></div>
1.3、三元运算符
<div :style="{color:(index == 1 ? conFontColor:'#000')}"></div>
<div :style="[{color:(index == 1 ? conFontColor:'#000')},{fontSize:'18px'}]"></div>
<div :style="item.layerName === activeLayerName?'font-weight:700' : 'font-weight:400'"></div>
<!-- 写法一 -->
<div :style="[{float: id === '12' ? 'left:'right}]"></div>
<!-- 写法二 -->
<div :style="float: nameList.length === 20 ? 'height:64px' : 'height:32px' "></div>
<!-- 写法三 -->
<div :style="{border:( nameId ===item.id ?'2px solid #4C78FF': 'red')}"></div>
1.4、绑定data对象
<div :style="styleObject"></div>
<script>
data() {
return{
styleObject: {
color: 'red',
fontSize: '14px'
}
}
}
</scrip>
2、动态class写法
2.1、对象方法
<!-- isActive —— true/false -->
<div :class="{ 'active': isActive }">{{name}}</div>
2.2、判断是否绑定一个active
<div :class="{'active' : isActive == -2}" >{{name}}</div>
<div :class="{'active' : isActive == item.nameId}" >{{item.name}}</div>
2.3、绑定并判断多个
2.31、第一种:用逗号隔开
<div :class="{ 'active': isActive, 'user': isUser }"></div>
2.32、放在data里面
<div :class="classObject">{{name}}</div>
<script>
data() {
return {
classObject:{ active: true, user:false }
}
}
</script>
2.33、使用computed属性
<div :class="classObject">{{name}}</div>
<script>
data() {
return {
isActive: true,
isUser: false
}
},
computed: {
classObject: function () {
return {
active: this.isActive,
user:this.isUser
}
}
}
</script>
2.4、数组方法
2.41、单纯数组
<div :class="[isActive,isUser]">{{name}}</div>
<script>
data() {
return{
isActive:'active',
isUser:'user'
}
}
</script>
2.42、数组与三元运算符结合判断选择需要的class
注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染
:class="[isActive?‘active':'']"
或者
:class="[isActive1?‘active':'']"
或者
:class="[isActiveindex?‘active':'']"
或者
:class="[isActive==index?‘active':‘otherActiveClass']"
2.43、数组对象结合动态判断
//前面这个active在对象里面可以不加单引号,后面这个sort要加单引号
:class="[{ active: isActive }, ‘sort']"
或者
:class="[{ active: isActive1 }, ‘sort']"
或者
:class="[{ active: isActiveindex }, ‘sort']"
来源:https://blog.csdn.net/m0_61852712/article/details/127123795
0
投稿
猜你喜欢
- 本文讲述的是通过python+tkinter编写一个简单桌面放大镜的代码示例,具体如下。代码思路:首先全屏截图,然后在鼠标当前位置以小窗口进
- 首先确保装了Python,我装的是2.x版本,对了,我的操作系统是WIN7,其实对于Python来说,什么操作系统并不重要。Python内置
- 目录一. 加载数据1. 继承Dataset类并重写关键方法2. 使用Dataloader加载数据二. 模型设计三. 训练四. 测试结语pyt
- 介绍也许大多数人都有在Excel中使用数据透视表的经历,其实Pandas也提供了一个类似的功能,名为pivot_table。虽然pivot_
- 由于我已经安装了anaconda,所以不在赘述,下载可以上清华镜像版下载 https://mirrors.tuna.tsinghua.edu
- 本文实例为大家分享了python实现大转盘抽奖的具体代码,供大家参考,具体内容如下选择转盘中的某一个方框,来进行抽奖import tkint
- 前言最近在学习微信小程序,在学习的过程中,有很多好玩的 API,经常点外卖的同学可能在小程序中遇到过,比如:某团、某了么都是有显示当前用户位
- 一、项目介绍爬取网址:CSDN首页的Python、Java、前端、架构以及数据库栏目。简单分析其各自的URL不难发现,都是https://w
- 具体用法:1、<%= Counters.Get(CounterName) %>显示计数器的值。2、<% counterva
- 一、SQL注入简介SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,
- 目标:目标文件为一个float32型存储的二进制文件,按列优先方式存储。本文使用Python读取该二进制文件并使用matplotlib.py
- Microsoft SQL Server 7.0安全问题Microsoft Corporation【「Microsoft SQL Serve
- W3C(万维网联盟)日前发布了HTML 5公共草案,这是10年来对HTML的一次主要升级。据国外媒体报道,W3C HTML5草案于本周二发布
- 今天在使用pytorch进行训练,在运行 loss.backward() 误差反向传播时出错 :RuntimeError: grad can
- 分为服务端和客户端,要求可以有多个客户端同时操作。客户端可以查看服务器文件库中有什么文件。客户端可以从文件库中下载文件到本地。客户端可以上传
- 本文主要讲如何不依赖TenserFlow等高级API实现一个简单的神经网络来做分类,所有的代码都在下面;在构造的数据(通过程序构造)上做了验
- 你们要的3D太阳系图片上传之后不知为何帧率降低了许多。。。日地月三体所谓三体,就是三个物体在重力作用下的运动。由于三点共面,所以三个质点仅在
- 1、ModuleNotFoundError: No module named ‘scipy.spatial.transf
- 概述在 TypeScript 中我们会使用泛型来对函数的相关类型进行约束。这里的函数,同时包含 class 的构造函数,因此,一个类的声明部
- 在 Django 网站中使用 mailgun 的邮件收发服务。1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收