一个项目学习Vue3---Class和Style绑定

news2024/12/25 9:22:47

看下面一段代码学习此部分内容

<template>
    <button @click="stateChang">状态切换</button>
    <div :class="{'font-color':classObject.openColor,'font-weight':classObject.openWeight}">颜色和粗细变化</div>
    <div :class="classObject2">颜色和粗细变化2</div>
    <div :class="classObject3">计算属性:字体变大</div>
    <div :class="[classObject2,classObject3]">数组方式绑定多个属性</div>

    <div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }">对于不同的浏览器可能不支持某种属性,他会选择当前浏览器支持的最后一个值</div>
</template>
<script lang="ts" setup>
import { computed, nextTick } from 'vue'
import { ref } from 'vue'
import { reactive } from 'vue'

const classObject = reactive({
    openColor: false,
    openWeight:false
})

const classObject2 = reactive({
    'font-color': false,
    'font-weight':false
})

const classObject3 = computed(()=>{
    return classObject.openColor && classObject.openWeight ? "font-size" : ""
})

function stateChang(){
    classObject.openColor = true
    classObject.openWeight = true
    classObject2['font-color'] = true
    classObject2['font-weight'] = true
}

</script>
<style scoped>
.font-color{
    color: red;
}
.font-weight{
    font-weight: 400;
}
.font-size{
    font-size: 200%;
}
</style>
运行完毕之后

Class绑定

        在vue中,你可以将单纯的控制是否添加

    <div :class="{'font-color':classObject.openColor,'font-weight':classObject.openWeight}">颜色和粗细变化</div>
const classObject = reactive({
    openColor: false,
    openWeight:false
})

调整false便可以控制其是否添加显示,不过这么写显的很乱,所以聪明的人又发明了一种写法,

    <div :class="classObject2">颜色和粗细变化2</div>
const classObject2 = reactive({
    'font-color': false,
    'font-weight':false
})

将Class名称直接作为JSON中的name,Value作为控制,也可以简单的实现显示或者不显示。

Vue的双向绑定的优势在于你可以在方法或者计算属性中去随意改变他的值,所以你在计算属性,或者方法,或者直接在html中引号里面写三元表达式

    <div :class="classObject3">计算属性:字体变大</div>
const classObject3 = computed(()=>{
    return classObject.openColor && classObject.openWeight ? "font-size" : ""
})

 如上面代码,我如果想两个属性合体,一起表达咋整啊?数组可以帮助你!

    <div :class="[classObject2,classObject3]">数组方式绑定多个属性</div>

Style绑定

        和Class基本一致,不做过多介绍了,上面的class换成style差不多,唯一介绍一个我们可能八辈子都用不到的属性前缀

    <div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }">对于不同的浏览器可能不支持某种属性,他会选择当前浏览器支持的最后一个值</div>

这些属性干啥的,例如有的浏览器支持display-webkit-box但是不支持后面两个属性,那么他就只会显示-webkit-box这个属性,然后有些三个都支持,那他会选择最后一个来展示display-flex

     关注公众号:资小库,问题快速答疑解惑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

东芝 TB5128FTG 强大性能的步进电机驱动器

TB5128FTG它以高精度和高效能为设计理念&#xff0c;采用 PWM 斩波方法&#xff0c;并内置时钟解码器。通过先进的 BiCD 工艺制造&#xff0c;这款驱动器提供高达 50V 和 5.0A 的输出额定值&#xff0c;成为广泛应用场景中的强劲解决方案。 主要特性 TB5128FTG 拥有众多确保高…

2024暑假集训第三次考试

3004. Sleepy Cow Sorting 思路分析 这道题是一道思维题。 这个就要结合之前学习过的算法&#xff0c;看这个题目的排序方式&#xff0c;我们就理所当然的想到了插入排序&#xff0c;也是这道题的正解。只需要看看前面有几个数是无序的就是需要排的次数。转换一下&#xff0c;也…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十二)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 32 节&#xff09; P32《31.通知-基础通知》 基础文本类型通知&#xff1a;briefText 没有用&#xff0c;写了也白写。 长文本类型…

哪里还可以申请免费一年期的SSL证书?

目前&#xff0c;要申请免费一年期的SSL证书&#xff0c;选项较为有限&#xff0c;因为多数供应商已转向提供短期的免费证书&#xff0c;通常有效期为90天。不过&#xff0c;有一个例外是JoySSL&#xff0c;它仍然提供一年期的免费SSL证书&#xff0c;但是只针对教育版和政务版…

可灭新能源锂电池火灾!自动灭火贴到底多少钱一个?

不需要人工干预&#xff0c;想贴哪里就贴哪里&#xff0c;一旦发生火灾就可以立即自动灭火。你敢相信现代的灭火器已经进化到这个地步了吗&#xff1f; 没错&#xff0c;小编说的就是最近大火的全氟己酮自动灭火贴。跟传统灭火器相比&#xff0c;它拥有体积小巧、高效灭火、安…

2024第二届电子通信与计算机科学技术国际会议(ICECCST 2024)

2024第二届电子通信与计算机科学技术国际会议(ICECCST 2024) 会议简介 2024第二届电子通信与计算机科学技术国际会议&#xff08;ICECCST 2024&#xff09;是一次重要的学术盛会&#xff0c;将在中国厦门举行。会议的主要目的是为全球的电子通信和计算机科学技术领域的专家、…

查找——数据结构与算法 总结7

目录 7.1 查找的相关概念 7.2 线性表的查找 7.2.1 顺序查找&#xff08;Linear Search&#xff09; 7.2.2 折半查找&#xff08;Binary Search&#xff09; 判定树&#xff08;折半查找判定树&#xff09;&#xff1a;描述折半查找判定过程的二叉树 7.3 树表的查找 7.31…

WBCE CMS v1.5.2 远程命令执行漏洞(CVE-2022-25099)

前言 CVE-2022-25099 是一个影响 WBCE CMS v1.5.2 的严重安全漏洞&#xff0c;具体存在于 /languages/index.php 组件中。该漏洞允许攻击者通过上传精心构造的 PHP 文件在受影响的系统上执行任意代码。 技术细节 受影响组件&#xff1a;/languages/index.php受影响版本&…

伯克利、斯坦福和CMU面向具身智能端到端操作联合发布开源通用机器人Policy,可支持多种机器人执行多种任务

不同于LLM或者MLLM那样用于上百亿甚至上千亿参数量的大模型&#xff0c;具身智能端到端大模型并不追求参数规模上的大&#xff0c;而是指其能吸收大量的数据&#xff0c;执行多种任务&#xff0c;并能具备一定的泛化能力&#xff0c;如笔者前博客里的RT1。目前该领域一个前沿工…

LabVIEW环境下OCR文字识别的实现策略与挑战解析

引言 在自动化测试领域&#xff0c;OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;技术扮演着重要角色&#xff0c;它能够将图像中的文字转换成机器可编辑的格式。对于使用LabVIEW约5个月&#xff0c;主要进行仪器控制与数据采集的你而言…

蓝牙模块功耗优化技术研究

蓝牙模块作为无线通信技术的重要组成部分&#xff0c;在智能家居、可穿戴设备、医疗健康等领域得到了广泛应用。然而&#xff0c;随着设备功能的不断增加和用户对续航能力的日益关注&#xff0c;蓝牙模块的功耗问题逐渐凸显。因此&#xff0c;对蓝牙模块功耗优化技术的研究具有…

两次叛国投敌,没有祸及子孙反而家族长盛不衰的传奇

这个人就是韩国国王韩王信&#xff0c;汉朝八大异姓王之一。 第一次叛国投敌&#xff0c;发生在楚汉争霸时期。有一次他的军队被项羽包围&#xff0c;于是选择了投降。不过&#xff0c;这是权宜之计&#xff0c;不久就借机回到刘邦阵营。 第二次叛国投敌&#xff0c;发生在西…

Docker Desktop 简易操作指南 (Windows, macOS, Linux)

1. 下载最新版本 Docker Desktop https://www.docker.com/products/docker-desktop/ 2.启动 Docker Desktop 3.常用命令&#xff08;在 cmd 或 Terminal 中执行&#xff09; #列出所有镜像&#xff08;Images&#xff09; docker images #列出所有容器&#xff08;Containers&…

发现CPU占用过高,该如何排查解决?

1.使用top命令 查看cpu占用最多的进程 2.使用 top -H -p pid 发现有两个线程占用比较大 3.将线程id转换为16进制 使用命令 printf 0x%x\n pid 4.使用 jstack pid | grep 线程id(16进制&#xff09; -A 20 &#xff08;显示20行&#xff09; 根据代码显示进行错误排查

android2024 gradle8 Processor和ksp两种编译时注解实现

android编译时注解&#xff0c;老生常谈&#xff0c;外面的例子都是bindView&#xff0c;脑壳看疼了&#xff0c;自己学习和编写下。 而且现在已经进化到kotlin2.0&#xff0c;google也逐渐放弃kapt&#xff0c;进入维护状态。所以要好好看看本贴。 参考我的工程&#xff1a; h…

国信华源全力守护湖南水库安全,汛期坚守岗位

连日来&#xff0c;湖南省遭受持续强降雨侵袭&#xff0c;部分地区暴雨倾盆&#xff0c;山塘河库水位急剧上升&#xff0c;防汛形势极为严峻。面对这场防汛大考&#xff0c;北京国信华源公司迅速响应&#xff0c;技术团队以高度的责任感和使命感&#xff0c;全力投入防汛减灾工…

2007年下半年软件设计师【上午题】试题及答案

文章目录 2007年下半年软件设计师上午题--试题2007年下半年软件设计师上午题--答案2007年下半年软件设计师上午题–试题

WEB04MyBatis

Mybatis mybatis查询 准备 准备工作 在目前的数据库中添加一张数据表emp 将资料中提供的day04-01-mybatis导入的目前的工程中 修改配置文件中的数据库的账户和密码 观察实体类中的属性和数据表中的字段的对应关系 查询结果封装 查询所有 SQL语句 select * from emp; …

【源码+文档+调试讲解】智能仓储系统 JSP

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;智能仓储系统当然也不能排除在外。智能仓储系统是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c;采…

昇思MindSpore学习总结九——FCN语义分割

1、语义分割 图像语义分割&#xff08;semantic segmentation&#xff09;是图像处理和机器视觉技术中关于图像理解的重要一环&#xff0c;AI领域中一个重要分支&#xff0c;常被应用于人脸识别、物体检测、医学影像、卫星图像分析、自动驾驶感知等领域。 语义分割的目的是对图…