【Vue】学习笔记-绑定样式/条件样式

news2024/9/22 4:03:29

绑定样式/条件样式

  • 绑定样式
  • 条件渲染

绑定样式

  1. class样式
    写法 :class="xxx" xxx可以是字符串,对象,数组
    字符串写法适用于:类名不确定,要动态获取。
    对象写法适用于:要绑定多个样式,个数不确定,名字也不确定。
    数组写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用
  2. style样式
    :style="{fontSize:xxx}" 其中XXX是动态值。
    :style="{a,b}" 其中a,b是样式对象。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>绑定样式</title>
    <script type="text/javascript" src="../js/vue.js"></script>
    <style>
        .basic{
            width: 300px;height: 50px;border: 1px solid black;
        }
        .happy{
            border: 3px solid red;background-color: rgba(255, 255, 0, 0.644);
            background: linear-gradient(30deg,yellow,pink,orange,yellow);
        }
        .sad{
            border: 4px dashed rgb(2, 197, 2);
            background-color: skyblue;

        }
        .normal{
            background-color: #bfa;
        }
        .atguiu1{background-color: yellowgreen;}
        .atguiu2{font-size: 20px; text-shadow: 2px 2px 10px red;}
        .atguiu3{border-radius: 20px;}


    </style>
</head>
   <!--
        1.class样式
            写法 :class="xxx" xxx可以是字符串,对象,数组
                 字符串写法适用于:类名不确定,要动态获取。
                 对象写法适用于:要绑定多个样式,个数不确定,名字也不确定。
                 数组写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用
        2.style样式
            :style="{fontSize:xxx}" 其中XXX是动态值。
            :style="{a,b}" 其中a,b是样式对象。
   -->
    <!--准备好一个容器-->
    <div id="root">
        <!--绑定class样式 字符串写法,适用于:样式的类目不确定,需要动态指定-->
        <div class="basic" :class="mood" @click="changeMood">{{name}}</div><br/><br/>

        <!--绑定class样式--数组写法。适用于:要绑定的样式个数不确定,名字也不确定-->
        <div class="basic" :class="classArr" >{{name}}</div> <br/><br/>
        
       <!--绑定class样式--数组写法。适用于:要绑定的样式个数不确定,名字也不确定,但要动态决定用不用-->
        <div class="basic" :class="classObj">{{name}}</div> <br/><br/>

        <div class="basic" :style="{fontSize: fsize+'px'}">{{name}}</div> <br/><br/>

        <!--绑定style 样式 --对象写法 -->
        <div class="basic" :style="styleObj">{{name}}</div> <br/><br/>

        <div class="basic" :style="[styleObj,styleObj2]">{{name}}</div> <br/><br/>
       <!--绑定style 样式 --数组写法 -->
        <div class="basic" :style="styleArr">{{name}}</div> <br/><br/>
    </div>
    <script type="text/javascript">
        Vue.config.productionTip =false 阻止Vue启动时生成提示
        //创建Vue实列
        const vm=new Vue({
            el:'#root', //el 用于指定当前Vue实例未哪个容器服务,值通常为css选择器字符串。document.getElementById(root) 
            data: {
                name:'尚硅谷',
                mood:"normal",
                classArr:['atguiu1','atguiu2','atguiu3'],
                classObj:{
                    atguiu1:false,
                    atguiu2:false
                },
                fsize: '40px',
                styleObj:{
                    fontSize:'40px',
                    color:'red'
                },
                styleObj2:{
                    backgroundColor:'orange'
                },
                styleArr:[
                    {
                        fontSize:'40px',
                        color:'blue',
                    },
                    {
                        backgroundColor:'gray'
                    }
                ]
            },
            methods:{
                changeMood(){
                    const arr=['happy','sad','normal']
                    const index=Math.floor(Math.random()*3)
                    this.mood=arr[index]
                }
            }
        });

  

    </script>
</body>
</html>

在这里插入图片描述

条件渲染

  1. v-if
    写法:
    (1)v-if=“表达式”
    (2)v-else-if=“表达式”
    (3)v-else=“表达式”
    • 适用于:切换频率较低的场景。
    • 特点:不展示的DOM元素直接被移除。
    • 注意:v-if可以和v-else-if,v-else 一起使用,但要求结构不能被“打断”。
  2. v-show
    写法:v-show=“表达式”
    适用于:切换频率较高的场景
    特点:不展示的DOM元素未被移除,仅仅是使用样式隐蔽掉’display:none’
    备注:使用v-if 时,元素可能无法获取到,而使用v-show一定可以获取到
    template 标签不影响结构,页面html钟都会有此标签,但值能配合v-if,不能配合v-show
    <div id="root">
        <h2>当前的n值是:{{n}}</h2>
        <button @click="n++">点我n+1</button>
        <!--使用v-show做条件渲染-->
        <!-- <h2 v-show="false">欢迎来到{{name}}</h2><br/><br/> -->
        <!-- <h2 v-show="1===1">欢迎来到{{name}}</h2><br/><br/> -->
        <!--使用v-if做条件渲染 -->
        <!-- <h2 v-if="false">欢迎来到{{name}}</h2><br/><br/> -->
        <!-- <h2 v-if="1===1">欢迎来到{{name}}</h2><br/><br/> -->

        <!--display:none-->
  <!--  <div v-show="n===1">Angular</div>
        <div v-show="n===2">React</div>
        <div v-show="n===3">Vue</div> -->

        <!-- v-if 做条件渲染 都会判断,但不见了 -->
        <div v-if="n===1">Angular</div>
        <div v-if="n===2">React</div>
        <div v-if="n===3">Vue</div>

        <!--v-else 和v-else-if 条件满足,后面的不在执行-->
        <div v-if="n===1">Angular</div>
        <div v-else-if="n===2">React</div>
        <div v-else-if="n===3">Vue</div>
        <div v-else>哈哈</div>
    
        <template v-if="n===1">
            <h2>北京</h2>
            <h2>上海</h2>
            <h2>尚硅谷</h2>
        </template>

    </div>
    <script type="text/javascript">
        Vue.config.productionTip =false 阻止Vue启动时生成提示
        //创建Vue实列
        const vm=new Vue({
            el:'#root', //el 用于指定当前Vue实例未哪个容器服务,值通常为css选择器字符串。document.getElementById(root) 
            data: {
                name:'尚硅谷',
                n:0
            }
        });
    </script>

在这里插入图片描述

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

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

相关文章

如何给ClickHouse表生成随机真实测试数据

学习ClickHouse数据库&#xff0c;通常需要下载官网一些示例数据。我们也可以通过内置函数generateRandom快速生成测试数据&#xff0c;从而测试学习一些特性的性能及底层原理。 函数语法 generateRandom函数基于给定schema生成随机数据&#xff0c;用于填充测试表。不是所有类…

【SSM】SpringMVC(三:SpringMVC拦截器)

文章目录 1. 登录案例2. 拦截器2.1 应用2.2 拦截器的执行原理2.3 拦截器执行的时机2.4 拦截器的实现方法2.5 拦截器的实现步骤2.6 开发拦截器 1. 登录案例 【login.jsp】 <%--Created by IntelliJ IDEA.User: BeyongDate: 2023/4/17Time: 11:43To change this template use…

【虹科】深度相机对比测评:虹科HK OAK-D Pro VS 英特尔RealSense D435i

虹科致力于为用户提供最优的机器视觉解决方案。本文将用虹科的AI深度相机与英特尔的深度相机来做图像的对比测试&#xff0c;那么它们有哪些性能差异呢&#xff1f; 虹科深度相机 HK OAK-D Pro有两个核心功能&#xff1a;红外激光点阵投影仪和红外照明LED。 红外激光点阵投影…

不能使用chatGPT?这3个平替甚至比chatGPT更强

不能使用chatGPT&#xff1f;这3个平替甚至比chatGPT更强 chatGPT&#xff0c;一款由OpenAI开发的新型AI聊天机器人&#xff0c;正在势如破竹地改变着许多人的工作和生活方式。作为一款基于大语言模型的聊天机器人&#xff0c;chatGPT能够理解自然语言并进行人机对话。与传统的…

SeeThroughNet:通过保留类概率信息来恢复辅助损失

文章目录 SeeThroughNet: Resurrection of Auxiliary Loss by Preserving Class Probability Information摘要本文方法Class Probability Preserving PoolingSeeThroughNet SeeThroughNet: Resurrection of Auxiliary Loss by Preserving Class Probability Information 摘要 …

华为OD机试真题(Java),计算最大乘积(100%通过+复盘思路)

一、题目描述 给定一个元素类型为小写字符串的数组&#xff0c;请计算两个没有相同字符的元素长度乘积的最大值&#xff0c; 如果没有符合条件的两个元素&#xff0c;返回0。 二、输入描述 输入为一个半角逗号分隔的小写字符串的数组&#xff0c;2 < 数组长度<100&am…

李志飞 All in AGI,出门问问大模型来了!

作者 | 唐小引 头图 | 由作者使用出门问问言之画生成 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 大模型进入百模大战唯快不破之时&#xff0c;矢志 Build AGI and make AGI accessible 的李志飞的产品比要组公司拉团队的王小川来得还更快些。 北京时间 4 月…

【C】Array

系列连载 【python / C / C】 参考 《C语言程序设计&#xff08;第四版&#xff09;谭浩强》【C语言】C语言视频教程《郝斌 C 语言自学教程》 文章目录 为什么需要数组数组的分类一维数组二维数组多维数组 #include<stdio.h>int main(){int a[5] { 1, 2, 3, 4, 5 };f…

自学Android开发至少要学到什么程度才可以去面试

前不久&#xff0c;有位网友私信找到我&#xff0c;说自己自学Android已经有两个月左右了&#xff0c;每天至少学习了五个小时&#xff0c;基本都是在网上找视频看跟着做笔记学的&#xff0c;然后就问我&#xff0c;说想这样学&#xff0c;至少需要学到什么程度才可以出去找工作…

Netty Jemalloc4算法-核心数据结构图示

Netty 从4.1.52版本开始&#xff0c;其内存分配算法&#xff0c;从jemalloc3 切换到了 jemalloc4。本文给出该算法涉及的核心数据结构图示&#xff1a; 想要看懂上图, 要点如下&#xff1a; 1. 小于等于16777216字节的空间&#xff0c;从chunk(一个16M的字节数组)中分配&#…

消息队列的选型

目录 消息队列的比较&#xff1a; kafka的架构&#xff1a; kafka为什么可以做到这么高的吞吐量&#xff1a; kafka分区类型&#xff1a; 请看下篇文章:生产者 ACK的配置 消息队列的比较&#xff1a; 消息队列的产品有很多中比如&#xff1a;React MQ 、Kafka等。 为什么…

一文速学数模-季节性时序预测SARIMA模型详解+Python实现

目录 前言 一、季节时间序列模型概述 二、SARIMA模型定义 三.SARIMA模型算法原理 1.季节差分&#xff1a;消除季节单位根 2.ARIMA模型 1.自回归(AR) 2.差分(I) 3.移动平均(MA) 4.ARIMA 四.SARIMA模型Python实现 1.数据预处理 季节性分析 ADF检验 序列平稳化 2.模…

C语言学习分享(第四次)------分支和循环语句

分支和循环语句 1. 前言2. 什么是语句?3. 分支语句(选择结构)3.1 if语句3.11 代码块{}的作用3.12 悬空else3.13 练习 3.2 switch语句3.21 在switch语句中的 break3.22 switch语句中的default子句3.23 练习 4. 循环语句4.1 while循环4.11 while循环中的break4.12 while循环中的…

DNS服务器配置与使用【CentOS】

从本质上说&#xff0c;DNS是一个分布数据库&#xff0c;是一个树形结构&#xff08;不是网状&#xff09;——层次结构 DNS查找过程就是 回溯的过程&#xff08;递归、迭代&#xff09; www.xxx.edu.cn&#xff08;属于四层结构&#xff09; 查询DNS&#xff1a;域名到IP地址的…

Mysql 学习(五)InnDB 存储引擎-B+树索引的使用

基础知识 了解了表索引的底层是B树结构&#xff0c;我们也要学会如何将这个结构的优势发挥出来&#xff0c;我们先来回顾上一节的重点&#xff0c;也就是总结一下B树的特点索引对应的是一棵B树&#xff0c;而B树对应的很多层&#xff0c;每一层存储的数据对应的是下一层节点的…

使用VS2022打包C#项目生成setup文件并部署

首先安装工具 新建Setup项目 先将\bin\Debug下的生成文件添加到里面 添加文件夹将我们需要的文件放入 添加项目输出 在用户桌面添加快捷方式 简单的安装 其实右键项目》生成&#xff0c;然后就在debug这个目录下 下一步下一步就可以了 安装好桌面就有了 添加卸载…

如何把较大的word文档压缩变小,3个高效处理法

在日常工作和学习中&#xff0c;我们经常使用word文档来创建和编辑文件。由于Word文档提供了创建专业和精美文档的便捷工具&#xff0c;并且能够节省用户大量的时间&#xff0c;因此是用户使用频率最高的文字处理程序之一。然而&#xff0c;一些较大的Word文档会占用大量存储空…

【JAVA程序设计】(C00129)基于Springboot+Vue前后端分离的在线考试管理系统

基于SpringbootVue前后端分离的在线考试管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 基于Springbootvue开发的前后端分离的学生考试系统为三个角色&#xff1a;系统管理员、教师、学生 管理员角色包含以下功能&#xff1a; 题库管理、试题管理、考试管理、阅…

太阳能电池IV测试软件的主要功能,太阳能电池特性测试

太阳能电池测试软件是一种专门用于测试太阳能电池的软件。太阳能电池是一种能够将太阳能转化为电能的装置&#xff0c;它的性能直接影响到太阳能电池发电系统的效率和稳定性。因此&#xff0c;太阳能电池测试软件的开发和使用对于太阳能电池行业的发展具有非常重要的意义。 一、…

[ARM+Linux] 基于全志h616外设开发笔记

修改用户密码 配置网络 nmcli dev wifi 命令扫描周围WIFI热点 nmcli dev wifi connect xxx password xxx 命令连接WiFi 查看ip地址的指令&#xff1a; ifconfig ip addr show wlan0 SSH登录 这是企业开发调试必用方式&#xff0c;比串口来说不用接线&#xff0c;前提是接入网络…