Vue|样式绑定

news/2024/4/25 6:37:24/文章来源:https://blog.csdn.net/weixin_42794881/article/details/129683668

class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。Vue.js v-bind 在处理 class 和 style 时, 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组。
文末名片获取源码
精彩专栏持续更新推荐订阅,收藏关注不迷路

微信小程序实战开发专栏

  • 一. 样式绑定
    • 1.1 动态指定
    • 1.2 数组写法
    • 1.3 对象写法
    • 1.4 内联样式

一. 样式绑定

1.1 动态指定

开始前的准备工作如下:预设好的style样式,html容器以及vue实例对象

在这里插入图片描述

启动项目后效果如下

在这里插入图片描述

<style>.basic{width: 200px;height: 200px;color: black;border:1px solid black;}.basic2{width: 200px;height: 200px;color: white;background: green;}.cat1{width: 200px;height: 200px;color: green;}.cat2{background: yellow;}.cat3{font-weight: bold;}
</style>
<div class="basic" :class="classIcon" @click="changeBackground">{{name}}</div>

目前所看到的样式效果是我们在style中定义的同时通过class进行指定的,那么需求就来了,如何做到点击div的时候给它换一个背景色呢?

在JS中是可以通过操作dom的方式来修改元素的class属性的

var div = document.getElementById("div1");
div.className = "style2";
div.setAttribute("class","style2");

但是既然使用了vue,入乡随俗肯定要用vue的方式来解决,而且用传统的方式来修改也有着不确定性,因为在界面中,需要操作的元素样式可能是不断变化的;

在这里插入图片描述

在标签中通过v-bind简写的方式再增加一个class,同时增加一个点击事件

在这里插入图片描述

在css定义好basic2的样式,启动项目,可以看到当点击div时,字体以及背景颜色都发生了变化,这说明动态指定class的事件生效了

在这里插入图片描述

在网页右击查看源代码可以看到,div上面的class只剩一个了,但是我们代码里面是两个,这是因为动态指定的class样式最终会自行汇聚成一个正常的class样式

在这里插入图片描述
在这里插入图片描述

1.2 数组写法

这一小节要讲的是针对与样式的个数以及名字不确定的场景,通过数组写法绑定class样式

首先在style中准备三个不同效果的class样式

在这里插入图片描述

.cat1{width: 200px;height: 200px;color: green;
}
.cat2{background: yellow;
}
.cat3{font-weight: bold;
}

在vue实例中定义一个数组并将class名进行指定

在这里插入图片描述

在html中的div标签中对arr进行绑定

在这里插入图片描述

<div :class="arr">{{name}}
</div>

运行项目可以看到数组方式的样式也绑定上去了,数组方式绑定class样式适用于样式的个数以及名字不确定的场景

在这里插入图片描述

1.3 对象写法

对象写法绑定class样式,适用于样式的个数以及名字都确定的场景,但是要根据业务场景动态决定是否使用,可以简单应用到当切换tab时根据不同的下标展示不同的效果

在这里插入图片描述

在vue实例data中定义对象如下,以普通的键值对方式存储,键为需要绑定的class名称,值为bool类型,需要展示则为true,反之则为false

在这里插入图片描述

info:{'cat1':false,'cat2':false,
},

在页面标签中对样式进行绑定,因为在数据中两个class都为false,所以页面解析后是没有任何样式绑定的

在这里插入图片描述
在这里插入图片描述

将定义的值修改为true,再次刷新页面,这一次就能渲染上去了

在这里插入图片描述

1.4 内联样式

内联样式绑定,适用于需要在行内根据数据形态做不同的展示的场景,常规的内联样式如下

在这里插入图片描述

<div class="basic" style="color:red;">{{name}}</div>

在vue中还是通过v-bing简写的方式进行绑定,不过需要加上单括符,不要忘了在data中进行定义

在这里插入图片描述

<div class="basic" :style="{color:fontColor}">{{name}}</div>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

根据平均分来划分等级-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第2章-课后作业)

【案例2-1】 根据平均分来划分等级 一、案例描述 考核知识点 switch语句 练习目标 掌握switch语句的使用。 需求分析 switch语句也是多分支语句&#xff0c;针对某个表达式的值做出判断&#xff0c;来决定执行哪一段代码&#xff0c;本案例用于实现根据输入的小明同学的5门课…

百度CTO王海峰:全栈AI技术加持,打造新一代大语言模型文心一言

3月16日&#xff0c;百度在北京总部召开新闻发布会&#xff0c;百度创始人、董事长兼首席执行官李彦宏和百度首席技术官王海峰出席&#xff0c;李彦宏展示了新一代知识增强大语言模型文心一言在文学创作、商业文案创作、数理逻辑推算、中文理解、多模态生成五个使用场景中的综合…

【linux】管道pipe(),dup()系统调用

int pipe(int p[2]) 函数作用&#xff1a;生成一个管道&#xff0c;将管道读端的文件标识符存到p[0]中&#xff0c;将管道写端的文件标识符存到p[1]中。返回值&#xff1a;若成功返回0&#xff0c;失败返回-1 管道的理解 如图&#xff0c;当创建完管道以后的父进程fork出两个子…

Python中模块是个啥

昨天有粉丝问我说&#xff0c;啥是模块&#xff1f;经常听别人口中提这个词&#xff0c;但就是不懂。 模块可以认为是一盒主题积木&#xff0c;通过它可以拼出某一主题的东西。这与之前介绍的函数不同&#xff0c;一个函数相当于一块积木&#xff0c;而一个模块中可以包括很多函…

【C++进阶】unordered_set和unordered_map的介绍及使用

文章目录unordered系列容器介绍unordered_setunordered_set的模板参数unordered_set的函数接口介绍unordered_set的重要接口的使用构造函数增删查迭代器的使用unordered_mapunordered_map的模板参数unordered_map的函数接口介绍unordered_map的重要接口的使用增删查改迭代器的使…

EMQ 南洋万邦云边一体化方案:激活数据潜力,打造智慧工业园区

在工业 4.0 的浪潮之中,全球制造业再度振兴和崛起,并经历着前所未有从流程驱动转向数据驱动的变革。 近年来,数智化绿色工厂正在成为制造业竞争力的主要驱动力,依托物联网、工业互联网,人工智能等先进制造技术的深度融合,智能工厂变得更高效、更灵活,拥有更高的交付韧性和成本…

解忧杂货铺(四):Hightec生成HEX方法+小功能开启

目录 1、概述 2、 4.6.6的生成方法 3 、HighTEC4.9.3的生成.hex方法 4、MAP文件生成方法 5、elf生成 6、编译优化 7、输出编译过程中的详细信息 8、快速定位内存 1、概述 本文章纯属整合&#xff0c;大部分属于外链&#xff0c;补充一下&#xff0c;后面是自己记录的了…

由浅入深之字符串的算法题(vs: chatGPT做算法)

背景俗话说&#xff0c;温故而知新。chatGPT效果太惊艳了&#xff01;简直就是碾压的效果。但是还要有希望&#xff0c;先拾取&#xff0c;再创新。先了解&#xff0c;再超越吧。ps: 再刷最后一遍算法题思路。顺便基于chatGPT3.5感受一下大模型的魔力。字符串基础C/C每个字符串…

编程题]组队竞赛(Java实现)

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

十七、队列

文章目录1、基本概念&#xff08;队列实际上就是一个结构体&#xff0c;可以理解为就是一个数组&#xff09;2、使用场景&#xff1a;任务间或任务与中断间传递数据3、使用队列的好处&#xff08;1&#xff09;休眠唤醒&#xff08;2&#xff09;提高CPU利用率4、队列的核心5、…

WebService简单入门

1. JAX-WS发布WebService 创建web工程 创建simple包&#xff0c;和server、client两个子包。正常情况下server和client应该是两个项目&#xff0c;这里我们只是演示效果&#xff0c;所以简化写到一个项目中&#xff1a; 1.1 创建服务类Server package simple.server;import ja…

JavaScript正则表达式知识拓展总结

JavaScript的正则表达式是前端中比较重要的部分&#xff0c;正则表达式主要用于字符串处理&#xff0c;表单验证等场合&#xff0c;实用高效。JavaScript中的正则表达式比起C#中的正则表达式要弱很多&#xff0c;但基本够用了。在js中定义正则表达式很简单&#xff0c;有两种方…

搭建SFTP服务安全共享文件,实现在外远程访问「内网穿透」

文章目录1.前言2.本地SFTP服务器搭建2.1.SFTP软件的下载和安装2.2.配置SFTP站点2.3.Cpolar下载和安装3.SFTP服务器的发布3.1.Cpolar云端设置3.2.Cpolar本地设置4.公网访问测试5.结语1.前言 现在的网络发达&#xff0c;个人电脑容量快速上升&#xff0c;想要保存的数据资料也越…

DRBG_InstantiateSeeded调试-1

public 参数解析: standardEKPolicy: 837197674484b3f81a90cc8d46a5d724fd52d76e06520b64f2a1da1b331469aa(32bytes) rawCmdBuf 命令数据: 800200000063000001314000000100000009400000090000010000000400000000003a0001000b000300720020837197674484b3f81a90cc8d46a5d724fd5…

Baumer工业相机堡盟相机如何使用PixelTransformation像素转换功能(像素转换功能的使用和优点以及行业应用)(C++)

项目场景 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机&#xff0c;可用于各种应用场景&#xff0c;如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能&#xff0c;可以实时传输高分辨率图像。此外&#xff0c;该相机还具…

银河麒麟v10系统硬盘挂载并配置yum软件源

一、查看磁盘 近期由于centos系统停止更新用户服务器要更换银河麒麟v10&#xff0c;拿到服务器后使用lsblk -f或fdisk -l命令查看磁盘名称 可以看到sdb200G就是要挂载的硬盘&#xff0c;还没有uuid需要初始化才可以挂载。 二、分区 分区命令&#xff1a; fdisk /dev/【你的…

QML- QML视觉元素类型

QML视觉元素类型一、概述一、图像类型三、共享视觉属性1. 不透明度和可见性2. 转换&#xff08;转置&#xff09;一、概述 对于最基本的视觉效果&#xff0c;Qt Quick提供了一个 Rectangle 类型来绘制矩形。这些矩形可以用颜色或垂直渐变来着色。 Rectangle 还可以在矩形上绘制…

QuestDb 基础使用

一、安装 Download QuestDB | QuestDB 可去官网直接下载对应版本&#xff0c;我这里是Windows版本 二、运行 找到Bin目录运行 管理员Cmd&#xff0c;输入 questDb.exe,即可运行&#xff0c;默认webConsole端口 9000&#xff0c;可在bin下 server.config去修改。 效果如下 …

Mac安装Nacos

参考链接&#xff1a; https://nacos.io/zh-cn/docs/quick-start.html 文章目录Nacos安装下载和解压启动和关闭Nacos什么是nacos?Nacos架构基本架构及概念逻辑架构及其组件介绍领域模型数据模型服务领域模型配置领域模型类视图Nacos安装 下载和解压 从链接中下载最新的版本 …

Vue基础25之路由第四节

Vue基础25路由编程式路由导航Home.vue(去掉两个router-line的replace)HomeMessage.vueBanner.vue总结缓存路由组件Home.vueHomeNews.vueHomeMessage.vue总结两个新的生命周期钩子HomeNews.vueHomeMessage.vueHome.vue总结全局路由守卫路由前置守卫src/router/index.js路由后置守…