Vue核心 绑定样式 条件渲染

news2024/11/17 4:40:53

1.11.绑定样式

class样式:

  • 写法::class=“xxx”,xxx 可以是字符串、数组、对象
  • :style=“[a,b]” 其中a、b是样式对象
  • **:style=“{fontSize: xxx}”**其中 xxx 是动态值
    • 字符串写法适用于:类名不确定,要动态获取
    • 数组写法适用于:要绑定多个样式,个数不确定,名字也不确定
    • 对象写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用
<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>绑定样式</title>
	<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;}
		.atguigu1 {background-color: yellowgreen;}
		.atguigu2 {font-size: 20px;text-shadow: 2px 2px 10px red;}
		.atguigu3 {border-radius: 20px;}
	</style>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
	<!-- 准备好一个容器 -->
	<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/>
		
		<!-- 绑定style样式--对象写法 -->
		<div class="basic" :style="styleObj">{{name}}</div><br/><br/>
		
		<!-- 绑定style样式--数组写法 -->
		<div class="basic" :style="styleArr">{{name}}</div>
	</div>

	<script type="text/javascript">
		// 阻止vue在启动时生成生产提示
		Vue.config.productionTip = false

		new Vue({
			el: '#root',
			data:{
				name: '尚硅谷',
				mood: 'normal',
				classArr: ['atguigu1', 'atguigu2', 'atguigu3'],
				classObj: { 
					atguigu1: false, 
					atguigu2: false
				},
				styleObj: { 
					fontSize: '40px', 
					color: 'red'
				},
				styleObj: { 
					fontSize: '40px', 
					color: 'red', 
				},
				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.12.条件渲染

v-if

  • 写法 跟 if else 语法类似

    v-if=“表达式”

    v-else-if=“表达式”

    v-else

  • 适用于:切换频率较低的场景,因为不展示的DOM元素直接被移除

  • 注意:v-if可以和v-else-if v-else一起使用,但要求结构不能被打断

v-show

  • 写法:v-show=“表达式”
  • 适用于:切换频率较高的场景
  • 特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉display: none

备注:使用v-if的时,元素可能无法获取到,而使用v-show一定可以获取到

template标签不影响结构,页面html中不会有此标签,但只能配合v-if,不能配合v-show

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>条件渲染</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!--
        条件渲染:
            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元素未被移除,仅仅是使用样式隐藏掉
           
           3.备注: 使用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> -->
        <!-- <h2 v-show="1 === 1">欢迎来到{{name}}</h2> -->

        <!-- 使用v-if做条件渲染 -->
        <!-- <h2 v-if="false">欢迎来到{{name}}</h2> -->
        <!-- <h2 v-if="1 === 1">欢迎来到{{name}}</h2> -->

        <!-- v-else和v-else-if -->
        <!-- <div v-show="n === 1">Angular</div> -->
        <!-- <div v-show="n === 2">React</div> --> 
        <!-- <div v-show="n === 3">Vue</div> -->

        <!-- <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> -->

        <!-- v-if与template的配合使用 --> 
        <template v-if="n === 1"> 
            <h3>你好</h3> 
            <h3>尚硅谷</h3> 
            <h3>北京</h3> 
        </template>
    </div>

    <script type="text/javascript">
        // 阻止vue在启动时生成生产提示
        Vue.config.productionTip = false
		
		new Vue({ 
			el: '#root',  	  
			data:{
                name:'尚硅谷',
                n:0
			},
		});
    </script>
</body>
</html>

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

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

相关文章

HTB靶机07-Cronos-WP

cronos IP&#xff1a;10.10.10.13 scan ┌──(xavier㉿kali)-[~] └─$ sudo nmap -sSV -T4 10.10.10.13 Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-06 23:19 CST Nmap scan report for 10.10.10.13 Host is up (0.23s latency). Not shown: 997 closed tcp por…

SpringCloud全面学习笔记之进阶篇

目录 前言微服务保护初识Sentinel雪崩问题及解决方案雪崩问题超时处理仓壁模式熔断降级流量控制总结 服务保护技术对比Sentinel介绍和安装微服务整合Sentinel 流量控制快速入门流控模式关联模式链路模式小结 流控效果warm up排队等待 热点参数限流全局参数限流热点参数限流案例…

算法记录 | Day52 动态规划

300.最长递增子序列 思路&#xff1a; 1.dp[i]的定义:以 nums[i] 结尾的最长递增子序列长度。 2.状态转移方程:位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 1 的最大值。 if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1); 注意这里不是要dp[i] …

基于AT89C52单片机的电子秒表设计与仿真

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87755619?spm1001.2014.3001.5503 源码获取 主要内容&#xff1a; 本设计以AT89C52单片机为核心&#xff0c;采用常用电子器件设计&#xff0c;包括电源开关、按键…

网络安全 等级保护 网络设备、安全设备知识点汇总

网络设备、安全设备知识点汇总 1、防火墙&#xff08;Firewall) 定义:相信大家都知道防火墙是干什么用的&#xff0c; 我觉得需要特别提醒一下&#xff0c;防火墙抵御的是外部的攻击&#xff0c;并不能对内部的病毒 ( 如ARP病毒 ) 或攻击没什么太大作用。 功能:防火墙的功能…

coturn中turnutils_peer和turnutils_uclient使用说明

coturn的作用有两个&#xff1a;寻找反射地址以及流转发&#xff0c;本人写过webrtc janus服务器部署在公网&#xff0c;coturn转发媒体流 coturn下面的工具turnutils_stunclient用于查找反射地址。 而turnutils_peer和turnutils_uclient用于测试转发功能&#xff0c;再次给以…

STL中priority_queue自定义类型使用和源码简单分析

priority_queue使用 这里说一下优先级队列的其他的用法,这里我们先看默认的究竟是建立大堆还是小堆? #include <iostream> #include <queue>int main() {int arr[] { 10, 2, 1, 3, 5, 4, 0 };std::priority_queue<int> q;for (size_t i 0; i < sizeo…

基于springboot的私人健身与教练预约管理系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代…

计算机网络学习笔记-概述

目录 信息时代 互联网 因特网发展的三个阶段 制定互联网的正式标准阶段 互联网组成&#xff1a;边缘部分核心部分 边缘部分 核心部分 计算机网络 体系结构 OSI 七层参考模型&#xff1a;物理层 数据链路层 网络层 运输层 会话层 表示层 应用层 TCP/IP 4层参考模型&a…

【K8S系列】深入解析k8s网络

序言 你只管努力&#xff0c;其他交给时间&#xff0c;时间会证明一切。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 Kubernetes (k8s) 是一个容器编排平台&#x…

(8) 支持向量机分类器SVC案例:预测明天是否会下雨

文章目录 案例介绍1 导库导数据&#xff0c;探索特征2 分集&#xff0c;优先探索标签3 探索特征&#xff0c;开始处理特征矩阵3.1 描述性统计与异常值3.2 处理困难特征&#xff1a;日期3.3 处理困难特征&#xff1a;地点3.4 处理分类型变量&#xff1a;缺失值3.5 处理分类型变量…

Typora + PicGo + Gitee 搭建免费图床

搭建准备 本次搭建过程需要以下介质&#xff1a;Typora PicGo Gitee/GitHub &#xff0c;「免费&#xff01;」 Typora Typora 是一款 markdown 编辑器&#xff0c;支持几乎所有的 markdown 格式&#xff0c;神器&#xff01; 支持 macOS、Windows、Linux 三种操作系统&am…

Composition API 的优势、新的组件(Fragment,Teleport,Suspense)【Vue3】

四、Composition API 的优势 1. Options API 存在的问题 使用传统OptionsAPI中&#xff0c;新增或者修改一个需求&#xff0c;就需要分别在data&#xff0c;methods&#xff0c;computed里修改。 2. Composition API 的优势 我们可以更加优雅的组织我们的代码&#xff0c…

Packet Tracer - 在思科路由器上配置 AAA 认证

Packet Tracer - 在思科路由器上配置 AAA 认证 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 交换机端口 R1 G0/1 192.168.1.1 255.255.255.0 不适用 S1 F0/1 S0/0/0 (DCE) 10.1.1.2 255.255.255.252 不适用 不适用 R2 G0/0 192.168.2.1 255.2…

(4)基本组件

目录 1. Designer 设计师** 2. Layout 布局*** 3. 基本组件 3.1 QWidget** 3.2 ui指针 3.3 QLabel 标签** 3.4 QAbstractButton 按钮类** 示例 1. Designer 设计师** Designer是一款独立的用于设计Qt界面的应用程序。 Designer程序保存的文件格式为.ui&#xff0c;这是Qt中的界…

腾讯云轻量应用服务器修改镜像系统有哪些限制?

腾讯云轻量应用服务器镜像可以更换或修改吗&#xff1f;可以&#xff01;镜像可以修改&#xff0c;镜像是指轻量服务器的预装操作系统&#xff0c;轻量服务器创建成功后镜像也是可以更换的。 镜像是轻量服务器的预装操作系统&#xff0c;轻量应用服务器的镜像不仅包含操作系统&…

看我如何通过帮助服务台轻松黑掉数百家公司

导语&#xff1a;几个月前&#xff0c;我发现黑客可以利用一个漏洞访问目标公司的内部通信。 这个漏洞只需要点击几下&#xff0c;就可以访问企业内部网络、 Twitter等社交媒体账户&#xff0c;以及最常见的Yammer和Slack团队。 更新: The Next Web 写了一篇我发现的这个漏洞的…

SAP BusinessObjects BI crack

SAP BusinessObjects BI crack 通过基于驱动程序标准的数据库、报告工具&#xff0c;甚至自定义应用程序&#xff0c;加入SAP BusinessObjects BI报告和分析。 与BI分析、报告、ETL工具和自定义解决方案集成。 SAP BusinessObjects BI奇妙功能中的CData驱动程序&#xff1a; BI…

数据结构与算法基础(王卓)(35):交换排序之快排【第一阶段:第一遍遍历】

目录 快速排序&#xff1a; 法一&#xff1a; 法二&#xff1a;&#xff08;常用、重难点&#xff09; 第一阶段&#xff1a;第一遍遍历 Project 1: 问题&#xff1a; Project 2: 问题&#xff1a; Project 3: 问题&#xff1a; Project 4: Project 5: 快速排序&am…

spring-模型数据和视图---视图解析器的说明以及大量代码演示

目录 spring-模型数据 ● 说明 应用实例需求 创建后面所有代码执行成功之后跳转的vote_ok.jsp页面 方式 1: 通过 HttpServletRequest放入 request 域 创建 Master类 创建Pet类 创建model_data.jsp 修改 VoteHandler增加方法 创建vote_ok.jsp, 显示数据 完成测试(Post…