【Vue3】2-8 : 条件渲染与列表渲染及注意点

本书目录:点击进入

一、条件渲染 - v-if = 表达式

1.1 真值与假值

1.2  v-if ,v-else-if ,v-else

1.3  实战:isShow1 为真值时 显示 bbbbb

>  代码

>  效果

二、列表渲染 - v-for

2.1 渲染 - 数组

>  代码

>  效果

2.2 渲染 - 对象

>  代码

>  效果

2.3 渲染 - 整数

 >  代码

>  效果

2.3 渲染 - 文本(字符串)

 >  代码

>  效果

三、v-if 和 v-for 注意点

3.1 列表渲染需要添加key属性

作用: 为了防止渲染错位

 >  代码

>  效果

3.2 v-if 和 v-for 尽量不要一起使用

作用: 防止v-if 无法读取元素值

 >  代码:保留id能被2整除的项

>  效果

3.3 template标签起到的作用 

作用: 编组,替代无用div

 >  代码

>  效果


一、条件渲染 - v-if = 表达式

  • 表达式 = truthy真值 时 渲染一块内容

1.1 真值与假值

  • falsy 假值 :(即 false、0、-0、0n、""、null、undefined 和 NaN

  • truthy真值非假值均为真值

1.2  v-if ,v-else-if ,v-else

  • 三者可以搭配使用

  • 中间不能插入其它代码,否则会报错

1.3  实战:isShow1 为真值时 显示 bbbbb

>  代码

<body><div id="app"><div v-if="isShow">aaaaa</div><div v-else-if="isShow1">bbbbb</div><div v-else>ccccc</div></div><script>let vm = Vue.createApp({data(){return {isShow: 0,isShow1: 2,}}}).mount('#app');</script>
</body>

>  效果

二、列表渲染 - v-for

  • 数组渲染列表

  • item in items 形式

  • items:源数组

  • item :数组元素的别名

2.1 渲染 - 数组

>  代码

<body><div id="app"><div v-for="item, index in list">{{ item }}, {{ index }}</div><div v-for="item in list">{{ item }}</div></div><script>let vm = Vue.createApp({data(){return {list: ['a', 'b', 'c']}}}).mount('#app');setTimeout(()=>{//vm.list.push('d');vm.list[1] = 'd';}, 2000) </script>
</body>

>  效果

2.2 渲染 - 对象

>  代码

<body><div id="app"><div v-for="value in info">{{ value }}</div><div v-for="value, key in info">{{ value }}, {{ key }}</div><div v-for="value, key, index in info">{{ value }}, {{ key }}, {{ index }}</div></div><script>let vm = Vue.createApp({data(){return {info: { username: 'xiaoming', age: 20 }}}}).mount('#app');</script>
</body>

>  效果

2.3 渲染 - 整数

 >  代码

<body><div id="app"><div v-for="item in num">{{ item }}</div></div><script>let vm = Vue.createApp({data(){return {num: 10}}}).mount('#app');</script>
</body>

>  效果

2.3 渲染 - 文本(字符串)

 >  代码

<body><div id="app"><div v-for="item in text">{{ item }}</div></div><script>let vm = Vue.createApp({data(){return {text: 'hello'}}}).mount('#app');</script>
</body>

>  效果

三、v-if 和 v-for 注意点

3.1 列表渲染需要添加key属性

作用: 为了防止渲染错位

 >  代码 :key="item.id"

<body><div id="app"><div v-for="item, index in list" :key="item.id">{{ item.text }}, {{ index }}, <input type="text"></div></div><script>let vm = Vue.createApp({data(){return {list: [{ id: 1, text: 'a' },{ id: 2, text: 'b' },{ id: 3, text: 'c' },]}}}).mount('#app');setTimeout(()=>{vm.list.unshift({ id: 4, text: 'd' });}, 3000)</script>
</body>

>  效果

3.2 v-if 和 v-for 尽量不要一起使用

作用: 防止v-if 无法读取元素值

 >  代码:保留id能被2整除的项

<body><div id="app"><div v-for="item, index in oddList" :key="index">{{ item.text }}, {{ index }}, <input type="text"></div></div><script>let vm = Vue.createApp({data(){return {list: [{ id: 1, text: 'a' },{ id: 2, text: 'b' },{ id: 3, text: 'c' },]}},computed: {oddList(){return this.list.filter((v)=> v.id%2 === 0);}}}).mount('#app');setTimeout(()=>{vm.list.unshift({ id: 4, text: 'd' });//向集合的头部添加元素}, 3000)</script>
</body>

>  效果

3.3 template标签起到的作用 

作用: 编组,替代无用div

 >  代码

<body><div id="app"><template v-if="isShow"><div>aaaa</div><div>bbbb</div></template></div><script>let vm = Vue.createApp({data(){return {isShow: true}}}).mount('#app');</script>
</body>

>  效果

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

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

相关文章

Spring基于注解的AOP控制事务

首先在.xml中开启sprong对注解事务的支持 applicationContext.xml <tx:annotation-driven transaction-manager"transactionManager"/> 然后再Service中加上注解 service Service Transactional(readOnlytrue,propagation Propagation.SUPPORTS) public cl…

聊聊PowerJob的IdGenerateService

序 本文主要研究一下PowerJob的IdGenerateService IdGenerateService tech/powerjob/server/core/uid/IdGenerateService.java Slf4j Service public class IdGenerateService {private final SnowFlakeIdGenerator snowFlakeIdGenerator;private static final int DATA_CE…

Vue-11、Vue计算属性

Vue计算属性是Vue实例的属性&#xff0c;用来根据已有的数据进行计算得到新的数据。计算属性的值会根据它的依赖缓存起来&#xff0c;在依赖没有发生改变时直接返回缓存的值&#xff0c;提高了性能。 计算属性的定义方式为在Vue实例中使用computed关键字&#xff0c;并将计算属…

Guava:Range 区间范围工具

简介 Range 表示一个间隔或一个序列。它被用于获取一组数字/串在一个特定范围之内。可比较类型的区间API&#xff0c;包括连续和离散类型。 Range 定义了连续跨度的范围边界&#xff0c;这个连续跨度是一个可以比较的类型(Comparable type)。比如1到100之间的整型数据。 在数…

安全防御之备份恢复技术

随着计算机和网络的不断普及&#xff0c;人们更多的通过网络来传递大量信息。在网络环境下&#xff0c;还有各种各样的病毒感染、系统故障、线路故障等&#xff0c;使得数据信息的安全无法得到保障。由于安全风险的动态性&#xff0c;安全不是绝对的&#xff0c;信息系统不可能…

【Unity】UniTask(异步工具)快速上手

UniTask(异步工具) 官方文档&#xff1a;https://github.com/Cysharp/UniTask/blob/master/README_CN.md URL:https://github.com/Cysharp/UniTask.git?pathsrc/UniTask/Assets/Plugins/UniTask 优点&#xff1a;0GC&#xff0c;可以在任何地方使用 为Unity提供一个高性能&…

(Matlab)基于CNN-GRU的多输入分类(卷积神经网络-门控循环单元网络)

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、部分程序&#xff1a; 四、完整代码数据分享&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译…

雍禾医疗启动“毛发森林”公益计划 为地球种植“发际线”

不久前&#xff0c;由雍禾植发、新华网及中国绿化基金会三方共同发起的 “毛发森林地球生发计划”在内蒙古自治区阿拉善盟额济纳旗揭牌启动,此计划将陆续在西部严重沙化地区植下十万棵梭梭树改善荒漠化地区环境。 据悉,早在2023年3月,雍禾植发就主动与新华网一起启动“让美好生…

Rabbitmq 消息可靠性保证

1、简介 消息的可靠性投递就是要保证消息投递过程中每一个环节都要成功&#xff0c;本文详细介绍两个环节的消息可靠性传递方式&#xff1a;1&#xff09;、消息传递到交换机的 confirm 模式&#xff1b;2&#xff09;、消息传递到队列的 Return 模式。 消息从 producer 到 ex…

Msa全球最新研究:多系统萎缩特效药全球最新进展?

多系统萎缩&#xff0c;是一种以神经系统为主的遗传性疾病&#xff0c;典型症状表现为运动障碍、自主神经功能障碍和认知障碍等。对于这种疾病&#xff0c;西医目前尚未有明确的根治办法&#xff0c;大多数医生只能通过药物缓解患者的症状&#xff0c;但无法彻底治愈。 然而&a…

轮排索引相关知识

轮排索引&#xff08;Round Robin Index&#xff09;是一种数据结构&#xff0c;通常用于分布式系统中的索引管理。 基本思想是将索引分为多个块&#xff0c;并循环地轮流在这些块中存储键值对&#xff0c;以实现负载均衡。这样可以防止某个特定块的负载过重&#xff0c;使得系…

C#的list进行升序或者降序的排列方式(亲测有效)

C#的list进行升序或者降序的排列方式&#xff08;亲测有效&#xff09; 1.list升序排序&#xff1a;时间从小到大排列 s在前就是升序 listNew.Sort((s, x) > s.CreateTime.CompareTo(x.CreateTime));2.list降序排序&#xff1a;时间从大到小排列 x在前就是降序 listNew.So…

第9章 正则表达式

学习目标 熟悉正则表达式,能够说出正则表达式的概念和作用 掌握正则表达式的创建,能够使用两种方式创建正则表达式 掌握正则表达式的使用,能够使用正则表达式进行字符串匹配 掌握正则表达式中元字符的使用,能够根据需求选择合适的元字符 掌握正则表达式中模式修饰符的使用,…

CDN加速之HTTPS配置

记录一下HTTPS配置的免费证书配置 2张图搞定 最后补充说明&#xff1a; 由于CDN采用的Tengine服务基于Nginx&#xff0c;因此开启HTTPS安全加速功能的加速域名&#xff0c;只支持上传Nginx能读取的PEM格式的证书。如果证书不是PEM格式&#xff0c;需转换成PEM格式。转换方法&a…

C#,字符串匹配(模式搜索)KMP算法的源代码与数据可视化

D.E.Knuth J.H.Morris 一、KMP算法 KMP 算法&#xff08;Knuth-Morris-Pratt 算法&#xff09;是其中一个著名的、传统的字符串匹配算法&#xff0c;效率比较高。 KMP算法由D.E.Knuth&#xff0c;J.H.Morris和V.R.Pratt在 Brute-Force算法的基础上提出的模式匹配的改进算法。…

江山易改本性难移之ZYNQ SDK QSPI固化bug及其解决方法

之前在Vivado2018.3通过QSPI方式固化程序时出现问题&#xff0c;显示flash擦除成功&#xff0c;但最后总是不能写入到flash中。 查资料发现从VIVADO 2017.3版本开始&#xff0c;Xilinx官方为了使Zynq-7000和Zynq UltraScale 实现流程相同&#xff0c;在QSPI FLASH使用上做了变化…

基于JAVA+SpringBoot的高校学术报告系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 智慧高校学术报告系统…

【SpringCloud】之入门级及nacos的集成使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringCloud开发之入门级及nacos》。&#x1f3…

【Github3k+⭐️】《CogAgent: A Visual Language Model for GUI Agents》译读笔记

CogAgent: A Visual Language Model for GUI Agents 摘要 人们通过图形用户界面&#xff08;Graphical User Interfaces, GUIs&#xff09;在数字设备上花费大量时间&#xff0c;例如&#xff0c;计算机或智能手机屏幕。ChatGPT 等大型语言模型&#xff08;Large Language Mo…

免费用chatGPT

免费用chatGPT&#xff0c;地址&#xff1a; DocGPT - 第二大脑