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

vue类与样式的绑定列表渲染

目录

1.类与样式的绑定

1.1绑定 HTML class

1.2绑定数组

1.3绑定内联样式

绑定数组

2.列表渲染

2.1v-for​

2.2v-for 与对象

2.3在 v-for 里使用范围值​


1.类与样式的绑定

1.1绑定 HTML class

我们可以给 :class (v-bind:class 的缩写) 传递一个对象来动态切换 class:

<div :class="{ active: isActive }"></div>

上面的语法表示 active 是否存在取决于数据属性 isActive 的真假值。

class可以赋不同名字

第一种方式内敛的方式

const isActive = ref(true)
const hasError = ref(false)<divclass="static":class="{ active: isActive, 'text-danger': hasError }"
></div>
渲染的结果 也就是html显示的
<div class="static active"></div>

当 isActive 或者 hasError 改变时,class 列表会随之更新。举例来说,如果 hasError 变为 true,class 列表也会变成 "static active text-danger"

第二种方式绑定的方式

const classObject = reactive({active: true,'text-danger': false
})<div :class="classObject"></div>这也会渲染出相同的结果。我们也可以绑定一个返回对象的计算属性。这是一个常见且很有用的技巧:const isActive = ref(true)
const error = ref(null)const classObject = computed(() => ({active: isActive.value && !error.value,'text-danger': error.value && error.value.type === 'fatal'
}))<div :class="classObject"></div>

1.2绑定数组

我们可以给 :class 绑定一个数组来渲染多个 CSS class:

const activeClass = ref('active')
const errorClass = ref('text-danger')
<div :class="[activeClass, errorClass]"></div>渲染的结果是:
<div class="active text-danger"></div>

如果你也想在数组中有条件地渲染某个 class,你可以使用三元表达式:

<div :class="[isActive ? activeClass : '', errorClass]"></div>

errorClass 会一直存在,但 activeClass 只会在 isActive 为真时才存在。

1.3绑定内联样式

:style 支持绑定 JavaScript 对象值,对应的是 HTML 元素的 style 属性:

const activeColor = ref('red')
const fontSize = ref(30)<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

直接绑定

const styleObject = reactive({color: 'red',fontSize: '13px'
})<div :style="styleObject"></div>

绑定数组

<div :style="[baseStyles, overridingStyles]"></div>

2.列表渲染

2.1v-for

我们可以使用 v-for 指令基于一个数组来渲染一个列表。v-for 指令的值需要使用 item in items 形式的特殊语法,其中 items 是源数据的数组,而 item 是迭代项的别名

const items = ref([{ message: 'Foo' }, { message: 'Bar' }])<li v-for="item in items">{{ item.message }}
</li>在 v-for 块中可以完整地访问父作用域内的属性和变量。v-for 也支持使用可选的第二个参数表示当前项的位置索引。
const parentMessage = ref('Parent')
const items = ref([{ message: 'Foo' }, { message: 'Bar' }])<li v-for="(item, index) in items">{{ parentMessage }} - {{ index }} - {{ item.message }}
</li>

2.2v-for 与对象

可以通过提供第二个参数表示属性名 (例如 key):

index第三个参数表示位置索引:

<script setup>
import { reactive } from 'vue'const myObject = reactive({title: 'How to do lists in Vue',author: 'Jane Doe',publishedAt: '2016-04-10'
})
</script><template><ul><li v-for="(value, key, index) in myObject">{{ index }}. {{ key }}: {{ value }}</li></ul>
</template>0. title: How to do lists in Vue
1. author: Jane Doe
2. publishedAt: 2016-04-10

2.3在 v-for 里使用范围值​

v-for 可以直接接受一个整数值。在这种用例中,会将该模板基于 1...n 的取值范围重复多次。

template

<span v-for="n in 10">{{ n }}</span>

注意此处 n 的初值是从 1 开始而非 0

相关文章:

vue类与样式的绑定列表渲染

目录 1.类与样式的绑定 1.1绑定 HTML class 1.2绑定数组 1.3绑定内联样式 绑定数组 2.列表渲染 2.1v-for​ 2.2v-for 与对象 2.3在 v-for 里使用范围值​ 1.类与样式的绑定 1.1绑定 HTML class 我们可以给 :class (v-bind:class 的缩写) 传递一个对象来动态切换 class…...

vue3+element-plus权限控制实现(el-tree父子级不关联情况处理)

文章目录 前言一、遇到的交互场景el-tree 中 check-strictly 属性 二、处理父级的半选中以及选中交互el-treecheck&#xff0c;check-change 事件编辑进来&#xff0c;父级的半选状态处理 总结 前言 在开发后台管理系统的时候&#xff0c;用户的权限控制是一个常见的需求。这里…...

js中事件委托和事件绑定之间的区别

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 事件绑定&#xff08;Event Binding&#xff09;⭐事件委托&#xff08;Event Delegation&#xff09;⭐ 选择事件绑定或事件委托⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本…...

Android 11.0 系统system模块开启禁用adb push和adb pull传输文件功能

1.使用场景 在进行11.0的系统定制化开发中,在一些产品中由于一些开发的功能比较重要,防止技术点外泄在出货产品中,禁用 adb pull 和adb push等命令 来获取系统system下的jar 和apk 等文件,所以需要禁用这些命令 2.系统system模块开启禁用adb push和adb pull传输文件功能的…...

实战经验分享:如何通过HTTP代理解决频繁封IP问题

在网络爬虫和数据采集等应用中&#xff0c;频繁遇到目标网站封锁或限制IP的情况是非常常见的。为了解决这个问题&#xff0c;使用HTTP代理是一种有效的方法。本文将与您分享一些实战经验&#xff0c;帮助您通过HTTP代理解决频繁封IP问题&#xff0c;确保您的数据采集工作顺利进…...

通讯网关软件001——利用CommGate X2Access-U实现OPC UA数据转储Access

本文介绍利用CommGate X2ACCESS-U实现从OPC UA Server读取数据并同步转储至ACCESS数据库。CommGate X2ACCESS-U是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;实现从OPC UA Server实时读取…...

Mybatis sql参数自动填充

问题描述 在日常开发中&#xff0c;经常会遇到Mybatis sql语句的操作问题&#xff0c;由于Mybatis实现sql的动态拼接&#xff0c;开发过程中&#xff0c;为了验证sql是否书写正确&#xff0c;通常需要获取的控制台打印的sql语句来检查是否拼接正确。如下图所示&#xff1a; 那…...

亚马逊云科技面向游戏运营活动的AI生图解决方案

随着Stable Diffusion等AI生图方案逐步普及&#xff0c;越来越多的场景被开发和落地。其中面向游戏C端玩家的AI生图营销活动场景正在被逐步验证&#xff1a;在某个游戏社区中&#xff0c;玩家一键从手机上传一张照片&#xff0c;AI会将自动识别该照片中的元素并替换成游戏中相应…...

腾讯mini项目-【指标监控服务重构】2023-07-30

今日已办 调研 CPU & Memory Cadivisor &#xff23;adivisor -> Prometheus -> (Grafana / SigNoz Web) google/cadvisor: Analyzes resource usage and performance characteristics of running containers. (github.com) services:cadvisor:image: gcr.io/ca…...

Windows 下 MySQL 8.1 图形化界面安装、配置详解

首先我们下载安装包 官方下载链接&#xff1a; MySQL :: Begin Your Download 网盘链接: https://pan.baidu.com/s/1FOew6-93XpknB-bYDhDYPw 提取码: brys 外网下载慢的同学可以使用上述网盘链接 下载完成后我们双击安装包即可进入安装界面 点击next 勾选同意协议&#…...

WebRTC 源码 编译 iOS端

1. 获取依赖工具 首先&#xff0c;确保你已经安装了以下工具&#xff1a; GitDepot ToolsXcode&#xff08;确保已安装命令行工具&#xff09; 2. 下载 depot_tools 使用 git 克隆 depot_tools 并将其添加到你的 PATH 中&#xff1a; /path/to/depot_tools 替换为自己的路径…...

Python编程指南:利用HTTP和HTTPS适配器实现智能路由

嗨&#xff0c;爬虫大佬们&#xff01;今天我要为大家分享一篇关于如何利用HTTP和HTTPS适配器来实现智能路由的Python编程指南。在现代互联网应用中&#xff0c;路由功能起着至关重要的作用&#xff0c;而利用Python编程语言实现智能路由则可以为我们的应用带来更高的灵活性和性…...

MySQL 权限分配

有时候&#xff0c;您需要查看某个用户被授予的权限以便复核。 MySQL 允许您使用 SHOW GRANTS 语句来显示分配给用户帐户或角色的权限。 MySQL SHOW GRANTS 语句介绍 以下是 SHOW GRANTS 语句的基本语法&#xff1a; SHOW GRANTS [FOR {user | role} [USING role [, role] .…...

基于PHP的医药博客管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的医药博客管理系统 一 介绍 此医药博客系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。用户可注册登录&#xff0c;查看/评论/搜索博客&#xff0c;建议留言。管理员可对用户&a…...

spark SQLQueryTestSuite sql 自动化测试用例

把SQL 添加到自动化测试用例。 ./sql/core/src/test/resources/sql-tests/inputs 目录存放原始的SQL. ./sql/core/src/test/resources/sql-tests/results存放SQL的执行结果。在执行测试时&#xff0c;根据最新生成的结果和 ./sql/core/src/test/resources/sql-tests/results 进…...

Taro小程序隐私协议开发指南填坑

一. 配置文件app.config.js export default {...__usePrivacyCheck__: true,... }二. 开发者工具基础库修改 原因&#xff1a;从基础库 2.32.3 开始支持 修改路径&#xff1a;详情->本地设置->调试基础库 三. 用户隐私保护指引更新 修改路径&#xff1a;mp后台->设…...

iOS App上传到苹果应用市场构建版本的图文教程

使用hbuilderx的h5或uniapp框架写的前端&#xff0c;进行云打包ios应用&#xff0c;会生成一个ipa后缀的应用文件。这个文件是没有办法像安卓应用那样直接安装在手机上面的。需要上架到苹果应用商店&#xff0c;用户才能下载安装使用。 因此&#xff0c;我们这篇文章讲详细介绍…...

paddle框架的使用

Paddle是由百度开发的深度学习框架&#xff0c;支持声明式和命令式编程风格。它还支持深度神经网络的超大规模训练和神经架构的自动设计。您可以使用 Paddle 构建用于训练的神经网络模型&#xff0c;具体步骤如下&#xff1a; 导入桨模块和其他必要的模块&#xff0c;如numpy&…...

Spring Boot + Vue的网上商城之基于element ui后台管理系统搭建

Spring Boot Vue的网上商城之基于element ui后台管理系统搭建 在本篇博客中&#xff0c;我们将使用Spring Boot和Vue来构建一个基于element ui的后台管理系统。我们将详细介绍每个步骤&#xff0c;并提供完整的代码示例&#xff0c;包括配置文件和组件。此外&#xff0c;我们…...

Linux基础入门

一、操作系统安装方法 1、使用u盘安装 工具&#xff08;前提条件&#xff09;&#xff1a; <1>u盘 <2>镜像文件iso/msdn.itellyou.cn <3>把u盘做成PE&#xff1a;大白菜/老毛桃/winPE/软碟通/ultralSO 设置BIOS&#xff1a;通过u盘启动 安装系统&…...

刚学单片机的小白,聊聊我的学习目标和职业期待

大家好&#xff0c;我是一名智能科学与技术专业的大二学生&#xff0c;目前刚刚开始接触单片机&#xff0c;还是个实打实的小白。开这篇博客&#xff0c;主要是想记录自己的学习历程&#xff0c;也希望能和同样入门的同学一起交流、互相鼓励。一、自我介绍我目前大二&#xff0…...

告别跨平台存储难题:exfat-nofuse内核驱动深度实战指南

告别跨平台存储难题&#xff1a;exfat-nofuse内核驱动深度实战指南 【免费下载链接】exfat-nofuse Android ARM Linux non-fuse read/write kernel driver for exFat and VFat Android file systems 项目地址: https://gitcode.com/gh_mirrors/ex/exfat-nofuse 在Linux与…...

麦橘超然Flux部署避坑指南:常见错误与解决方法

麦橘超然Flux部署避坑指南&#xff1a;常见错误与解决方法 1. 部署前的环境准备 1.1 硬件与驱动检查 在部署麦橘超然Flux图像生成控制台前&#xff0c;确保你的硬件环境满足以下要求&#xff1a; 显卡&#xff1a;NVIDIA显卡&#xff08;RTX 3060及以上&#xff09;&#x…...

春联生成模型-中文-base行业落地:新能源车企‘碳中和’‘智驾’等科技春联生成

春联生成模型-中文-base行业落地&#xff1a;新能源车企碳中和智驾等科技春联生成 1. 引言&#xff1a;当传统春联遇上现代科技 春节贴春联是千百年来的传统习俗&#xff0c;但传统的"福禄寿喜"已经难以完全表达现代企业的科技内涵。特别是新能源车企&#xff0c;既…...

SAM3镜像部署:一键启动,开箱即用的文本引导分割工具

SAM3镜像部署&#xff1a;一键启动&#xff0c;开箱即用的文本引导分割工具 1. 快速入门指南 1.1 镜像概述 本镜像基于Meta最新发布的SAM3&#xff08;Segment Anything Model 3&#xff09;算法构建&#xff0c;通过二次开发集成了直观的Gradio Web交互界面。无需任何编程基…...

WorkshopDL:跨平台Steam创意工坊下载器,突破平台限制获取海量模组资源

WorkshopDL&#xff1a;跨平台Steam创意工坊下载器&#xff0c;突破平台限制获取海量模组资源 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否曾在Epic Games或GOG平台购…...

YOLO X Layout中小企业应用:无需训练,开箱即用的文档结构理解AI工具

YOLO X Layout中小企业应用&#xff1a;无需训练&#xff0c;开箱即用的文档结构理解AI工具 1. 引言&#xff1a;让文档理解变得简单高效 在日常办公中&#xff0c;我们经常需要处理各种文档——扫描的合同、拍摄的表格、电子版报告。传统方式需要人工逐个识别文档中的文字、…...

OpenClaw本地知识库整合:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF增强专业领域回答

OpenClaw本地知识库整合&#xff1a;Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF增强专业领域回答 1. 为什么需要本地知识库与模型协同工作 去年我在处理一批医疗行业的技术文档时&#xff0c;发现通用大模型对专业术语的解释总差那么点意思。模型要么给出过于笼统…...

UltraStar Deluxe实战指南:免费打造专业级家庭KTV系统

UltraStar Deluxe实战指南&#xff1a;免费打造专业级家庭KTV系统 【免费下载链接】USDX The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™ 项目地址: https://gitcode.com/gh_mirrors/us/USDX 还在为KTV包厢的高昂费用而…...

3分钟学会用Draw.io ECE插件绘制专业级电路图:告别复杂EDA软件

3分钟学会用Draw.io ECE插件绘制专业级电路图&#xff1a;告别复杂EDA软件 【免费下载链接】Draw-io-ECE Custom-made draw.io-shapes - in the form of an importable library - for drawing circuits and conceptual drawings in draw.io. 项目地址: https://gitcode.com/g…...