【Vue】Vue扫盲(二)指令:v-for 、v-if、v-else-if、v-else、v-show

news2024/12/25 1:26:37

【Vue】Vue扫盲(一)事件标签、事件修饰符:@click.prevent @click.stop @click.stop.prevent、按键修饰符、及常用指令

文章目录

    • 一、v-for
      • 遍历数组
      • 数组角标
      • 遍历对象
      • :Key作用介绍
    • 二、v-if、v-show
    • 基本用法:
    • 案例:
    • 三、v-else、v-else-if 使用

继上一篇,继续来扫盲

一、v-for

遍历数据渲染页面是非常常用的需求, Vue 中通过 v-for 指令来实现。

遍历数组

语法: v-for=“item in items”
 items: 要遍历的数组, 需要在 vue 的 data 中定义好。
 item: 迭代得到的当前正在遍历的元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <ul>
            <li v-for ="(user,index) in users" :key="user.name">
                    <!-- 显示user信息 v-for user in users -->
                    当前索引{{index}} ==> {{user.name}} ==>{{user.gender}}==>{{user.age}} <br/>
                     <!-- 获取数组下标 v-for (user,index) in users-->
                      <!-- 遍历对象
                      v-for value in object  遍历对象中的属性的值
                      v-for (value,key) in object  遍历对象中的属性的名和值
                      v-for (value,key,index) in object  遍历对象中属性名属性值和索引
                      -->
                    对象详情:
                    <span v-for="(value,key,index) in user">{{key}}=={{value }}=={{index}}&nbsp;   </span>
                    <!-- 遍历的时候都加上:key来区分不同数据,提高vue渲染效率 -->
            </li>
        </ul>

        <ul>
            <li v-for="(num,index) in nums" ::key="index" >
                {}
            </li>
        </ul>
    </div>

    <script src="../node_modules/vue/dist/vue.js"></script>
    <script>
        new Vue({
            el:"#app",
            data:{
                users:[{ name: '柳岩', gender: '女', age: 21 },
                        { name: '张三', gender: '男', age: 18 },
                        { name: '范冰冰', gender: '女', age: 24 },
                        { name: '刘亦菲', gender: '女', age: 18 },
                        { name: '古力娜扎', gender: '女', age: 25 }],
                nums:[1,2,3,4,5,5]
            },
            methods: {
                
            },
        })
    </script>
</body>
</html>

效果
在这里插入图片描述

数组角标

在遍历的过程中, 如果我们需要知道数组角标, 可以指定第二个参数:
语法: v-for=“(item,index) in items”
 items: 要迭代的数组
 item: 迭代得到的数组元素别名
 index: 迭代到的当前元素索引, 从 0 开始。

<div id="app">
<ul>
<li v-for="(user, index) in users">
{{index + 1}}. {{user.name}} - {{user.gender}} - {{user.age}}
</li>
</ul>
</div>

效果:
在这里插入图片描述

遍历对象

v-for 除了可以迭代数组, 也可以迭代对象。 语法基本类似
语法:
v-for=“value in object”
v-for=“(value,key) in object”
v-for=“(value,key,index) in object”

 1 个参数时, 得到的是对象的属性值
 2 个参数时, 第一个是属性值, 第二个是属性名
 3 个参数时, 第三个是索引, 从 0 开始
示例:

<div id="app">
	<ul>
		<li v-for="(value, key, index) in user">
			{{index + 1}}. {{key}} - {{value}}
		</li>
	</ul>
</div>
	<script src="../node_modules/vue/dist/vue.js"></script>
	<script type="text/javascript">
let vm = new Vue({
el: "#app",
data: {
user: { name: '张三', gender: '男', age: 18 }
}
})
</script>

效果:
在这里插入图片描述

:Key作用介绍

用来标识每一个元素的唯一特征, 这样 Vue 可以使用“就地复用” 策略有效的提高渲染的
效率。
示例:

<ul>
<li v-for="(item,index) in items" :key=”index”></li>
</ul>
<ul>
<li v-for="item in items" :key=”item.id”></li>
</ul>

最佳实践:
如果 items 是数组, 可以使用 index 作为每个元素的唯一标识
如果 items 是对象数组, 可以使用 item.id 作为每个元素的唯一标识

特别注意:当 v-if 和 v-for 出现在一起时, v-for 优先级更高。 也就是说, 会先遍历, 再判断条件。
修改 v-for 中的案例, 添加 v-if:

<ul>
<li v-for="(user, index) in users" v-if="user.gender == ''">{{index + 1}}. {{user.name}} - {{user.gender}} - {{user.age}}
</li>
</ul>

在这里插入图片描述

二、v-if、v-show

基本用法:

v-if, 顾名思义, 条件判断。 当得到结果为 true 时, 所在的元素才会被渲染。
v-show, 当得到结果为 true 时, 所在的元素才会被显示。
语法: v-if=“布尔表达式”, v-show=“布尔表达式”,

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <button @click="show=!show">点我呀</button>
        <br/>
        <span v-if="show">v-if看到我了</span>
        <br/>
        <span v-show="show">v-show看到我了</span>
    </div>

    <script src="../node_modules/vue/dist/vue.js"></script>
    <script>
        new Vue({
            el:"#app",
            data:{
               show:true
            },
            methods: {
                
            },
        })

    </script>

    
</body>
</html>

结果1:
在这里插入图片描述

结果2
在这里插入图片描述

三、v-else、v-else-if 使用

注意:v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面, 否则它将不会被识别。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id ="app">
        <button @click="random=Math.random()">点我呀</button>
        <span>{{random}}</span>
        <h1 v-if="random>=0.75">
            看到我了,&gt;=0.75
        </h1>
        <h1 v-else-if="random>=0.5">
            看到我了,&gt;=0.5
        </h1>
        <h1 v-else-if="random>=0.2">
            看到我了,&gt;=0.2
        </h1>
        <h1 v-else="random<0.2">
            看到我了,&lt;=0.2
        </h1>
    </div>

    <script src="../node_modules/vue/dist/vue.js"></script>
    <script>
        new Vue({
            el:"#app",
            data:{
                random:1
            },
            methods: {
                
            },
        })
    </script>
</body>
</html>

结果1:
在这里插入图片描述
结果2:
在这里插入图片描述
结果3:
在这里插入图片描述

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

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

相关文章

【unity框架开发12】从零手搓unity存档存储数据持久化系统,实现对存档的创建,获取,保存,加载,删除,缓存,加密,支持多存档

文章目录 前言一、Unity对Json数据的操作方法一、JsonUtility方法二、Newtonsoft 二、持久化的数据路径三、数据加密/解密加密方法解密方法 四、条件编译指令限制仅在编辑器模式下进行加密/解密四、数据持久化管理器1、存档工具类2、一个存档数据3、存档系统数据类4、数据存档存…

【Photoshop——肤色变白——曲线】

1. 三通道曲线原理 在使用RGB曲线调整肤色时&#xff0c;你可以通过调整红、绿、蓝三个通道的曲线来实现黄皮肤到白皮肤的转变。 黄皮肤通常含有较多的红色和黄色。通过减少这些颜色的量&#xff0c;可以使肤色看起来更白。 具体步骤如下&#xff1a; 打开图像并创建曲线调…

几何完备的3D分子生成/优化扩散模型 GCDM-SBDD - 评测

GCDM 是一个新的 3D 分子生成扩散模型&#xff0c;与之前的 EDM 相比&#xff0c;GCDM 优化了其中的图神神经网络部分&#xff0c;使用手性敏感的 SE3 等变神经网络 GCPNET 代替了 EDM 中的 EGNN&#xff0c;让节点间消息传递、聚合根据手性不同而进行。本文对 GCDM-SBDD&#…

DMN决策引擎入门知识点

本文主要讲解Camunda是如何使用Dmn决策引擎&#xff0c;体验地址:www.jeecgflow.com Dmn决策表定义 Dmn在线设计 命中策略(Hit Policy) 策略名称策略描述Unique只有一个或者没有规则可以满足。决策表的结果包含满足规则的输出条目。如果超过一个规则满足&#xff0c;那么就违…

电脑知识:适用于 Windows 10 的 PDF 编辑器列表

PDF 是一种流行的、多功能且安全的文件格式&#xff0c;用于在线共享文档。但是&#xff0c;如果没有合适的应用程序&#xff0c;查看和编辑 PDF 文件可能会变得复杂。 幸运的是&#xff0c;有很多 PDF 编辑器可以帮助您更正重要文档上的错误、填写表格、为合同添加签名、更改…

【个人成长】编程小白如何成为大神?

1. 选择适合自己的编程语言 作为新手&#xff0c;选择一门适合自己的编程语言至关重要。不同的编程语言有不同的应用领域和特点。以下是几种适合初学者的编程语言&#xff1a; Python&#xff1a;广泛应用于数据科学、人工智能、自动化脚本和Web开发等领域。它语法简洁易懂&a…

Faker:自动化测试数据生成利器

Faker&#xff1a;自动化测试数据生成利器 前言1. 安装2. 多语言支持3. 常用方法3.1 生成姓名和地址3.2 生成电子邮件和电话号码3.3 生成日期和时间3.4 生成公司名称和职位3.5 生成文本和段落3.6 生成图片和颜色3.7 生成用户代理和浏览器信息3.8 生成文件和目录3.9 生成UUID和哈…

GPIO的原理

GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口 可配置为8种输入输出模式 引脚电平&#xff1a;0V~3.3V&#xff0c;部分引脚可容忍5V 输出模式下可控制端口输出高低电平&#xff0c;用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等 输入…

【Iceberg分析】Iceberg 1.6.1 源码使用IDEA本地编译

Iceberg 1.6.1 源码使用IDEA本地编译 文章目录 Iceberg 1.6.1 源码使用IDEA本地编译下载文件配置调整gradle相关修改bulid.gradlegradle.properties在IDEA上构建编译打包 可能出现的问题彩蛋与Spark部署Spark与Iceberg集成部署 下载 网络条件允许的情况下&#xff0c;使用git直…

引领智慧文旅新纪元,开启未来旅游新境界

融合创新科技&#xff0c;重塑旅游体验&#xff0c;智慧文旅项目定义旅游新未来 在全球化的浪潮中&#xff0c;旅游已成为连接世界的重要纽带。天津信之鸥科技有限公司&#xff08;以下简称“信鸥科技”&#xff09;今日宣布&#xff0c;公司倾力打造的智慧文旅项目正式投入运营…

10.继承与Data Member

目录 1、只要继承不要多态 2、加上多态 3、多重继承 4、虚拟继承 在C继承模型中&#xff0c;一个derived class object所表现出来的东西&#xff0c;是其自己的members加上其base class(es) members的总和。至于derived class members和base class(es) members的排列顺序&a…

基坑气膜:为清洁施工提供强力保障—轻空间

随着城市建设的不断推进&#xff0c;环保要求也日益提高。基坑气膜作为一种新型的施工技术&#xff0c;不仅在防尘降噪方面表现出色&#xff0c;还能支持复杂的施工设备运行&#xff0c;真正实现了从源头解决扬尘和噪音问题。 高效防尘&#xff0c;优化施工环境 传统施工中&…

Hyper-V管理器连接到服务器出错。请检查虚拟机管理服务是否正在运行以及是否授权你连接到此服务器。

尝试连接到服务器”XXXXXX"时出错。请检查虚拟机管理服务是否正在运行以及是否授权你连接到此服务器。 计算机"XXXXXX"上的操作失败: WinRM客户端无法处理该请求。如果身份验证方案与Kerberos不同&#xff0c;或者客户端计算机未加入到域中&#xff0c;则必须使…

工业物联网一直是风口,可视化大屏就是门面

工业物联网作为当下的热门领域&#xff0c;一直处于风口浪尖。而在这个领域中&#xff0c;可视化大屏确实充当着重要的门面角色。 可视化大屏以其震撼的视觉效果和直观的数据展示&#xff0c;为工业物联网赋予了强大的表现力。当人们走进工业物联网的应用场景&#xff0c;首先映…

Jina ColBERT v2: 一个多语言的晚期交互信息检索模型

Jina AI发布 Jina ColBERT v2版本&#xff0c; Jina ColBERT v2是一个多语言的晚期交互&#xff08;Late Interaction&#xff09;信息检索模型&#xff0c;基于BERT架构开发&#xff0c;旨在优化查询和文档之间的匹配和排序。用于在搜索引擎、推荐系统、问答系统等应用中实现高…

20 个精选 Midjourney SREFs 及额外代码,等你来用!

今天我整理了 Midjourney 的参考 ID 801 到 850&#xff0c;并选择了 20 种色彩和艺术风格多样的样式。灵感来源于 _旧金山的彩绘女士_&#xff0c;这是加利福尼亚州著名的排屋系列。 我使用文本提示“城市中的一组排屋”生成了图像&#xff0c;并应用了 20 个选定的 SREF。每张…

【Java】I/O 操作详解

&#x1f4c3;个人主页&#xff1a;island1314 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 目录 1. 引言 &#x1f680; 2. File 类 &#x1f4d5; 2.1 创建 File 对象 …

讲个故事(升级版)1.0

一、总述 离线强化学习&#xff08;Offline RL&#xff09;是交互推荐中的一种常用技术&#xff0c;它离线地学习离线数据以学习策略而不必与用户进行在线交互。Offline RL存在高估用户对离线数据中很少出现的物品的偏好的问题&#xff0c;当前采用了保守主义去解决这一问题&a…

基于SpringBoot的流浪动物救助系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…