首页 > 其他分享 >v-if与v-show的区别和v-for的列表渲染

v-if与v-show的区别和v-for的列表渲染

时间:2024-09-01 13:52:51浏览次数:16  
标签:渲染 show else template 组件 列表 我们 页面

1.v-if与v-show的区别和用法

1.v-if的用和注意事项

当我们需要做一个因为客户做出了不同的选择出现了不同的结果或者选择,但是这些结果或者选项又都是在我们同一个的页面的时候需要我们使用什么组件。

我们可以去Vue.js去了解一下这种类型的组件比如我们的v-if、v-else、v-else-if等。

我们可以看到使用v-if的时候需要给一个Boolean类型的变量这个判断值我们可以在script里面定义,在我们定义这个变量前需要线创建出一个ref来定义我们的变量。

我们在使用v-if的时候通常会跟我们的v-else一同使用,我们使用v-else的时候前面一定要有v-if,否则我们的页面会发生错误。

这个v-else相当于我们上一个v-if的判断值为true这个v-else则是false,反之上一个v-if是false那么这个v-else则是true。

我们通过页面的展示效果可以清楚的看的我们v-if的true和false为我们的判断值的结果区别,判断值为false则显示我们的v-else,反之则不显示我们的v-else。

我们在使用v-if和v-else的时候其中间不能有任何的组件或者内容否则我们的页面就会发生语法错误,空格的话是没有关系的。

我们在使用了v-if和v-else两个组件之间又添加了一个组件时,我们会发现我们的控制台先报出我们的页面发生了错误,到页面中查看我们的错误。

当我们去除掉了这个组件的时候错误也就解决了。

如果说我们的判断条件比较多的时候因为我们的v-if和v-else满足不了我们的需求时可以使用我们的v-else-if也就是我们不满足这个条件时再次判断时候满足下一个条件。

可以从运行结果看的我们的显示内容是与我们设置的值一致的。

我们不仅仅可以通过我们的v-if显示出组件内容也可以显示出不同的模块,不过显示模块需要我们使用template组件,这个template不是最外层的我们可以创建一个template来让不同的组件在同一级别。

使用template在包裹两组件的时候可以让其没有阶级的差异。

2.v-if和v-show的区别

我们是否显示出组件或者模块的时候不只有v-if还有我们的v-show它们的视觉效果是一致的,我们分别创建出两v-if和v-show来更加直观的看到我们的效果。

对于我们的v-show是有一个缺点的,那就是它并不是像v-if那样将其去除,而是打上了一个隐藏属性隐藏起来了,这样是会占用我们的网络从而发生卡顿,可以打开我们刚才的页面右击检查,来查看我们那个没有显示的v-show与另一个没有显示的v-if来做对比。

因为v-show还是会加载出我们不需要的内容,所以我们对于v-show的应用并没有v-if那么好用。

2.v-for的列表渲染

1.v-for的基本认知和用法

v-for列表渲染类似我们的for循环,原理也是通过我们的循环来实现,我们可以去Vue.js来查看我们的v-for列表渲染的一些知识和用法。比循环创建出多个组件或者标上组件处于第几个位置。​​​​​​

我们定义的时候除了数字之外还可以定义我们的数组。

我们现在下方的script里面定义一个数组需要我们使用ref来完成。

我们也可以根据我们的属性名来调用,可以在组件内部调用的时候在前面赋予一个名称来表达它是什么意思。

如果说是我们编译的小程序的话就会比较严谨,它会要求我们加上key也就是主键。

不过即使不添加也可以正常运行。

如果不会跳转页面的话可以点击上方有编译的提示旁边的下拉框。

这个时候我们需要先给我们的数组添加一个唯一列也就是我们的主键,因为key要求是唯一的值,所以不能重复,添加好了之后在组件内部使用:key引用我们的主键

这样我们的微信小程序就不会包key的错误了。

如果说我们需要循环一个组件并且不需要其他的组件可以使用template,因为循环我们的template不会出现没用的组件,在我们的Vue.js里面有介绍

还有其他更多的条件和注意可以去官网自行了解

连接:列表渲染 | Vue.js (vuejs.org)

标签:渲染,show,else,template,组件,列表,我们,页面
From: https://blog.csdn.net/dengshuweng/article/details/141643003

相关文章

  • 20240901_113250 python 知识点列表
    开发环境20240901_113224python环境依赖的备份与导入_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/1188873020240901_114639填空题环境的备份与导入_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/11888767......
  • 20240831_175311 scratch 专题训练列表
    20240831_174427scratch自制积木的基本使用_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/1188347120240831_174849scratch画笔模块入门必会_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/1188348120240831_175038scratc......
  • 海康二次开发学习笔记9-通讯触发及模块列表获取
    通讯触发及模块列表获取模块列表获取获取流程中所有模块的模块名,添加下拉框用于显示模块名1.处理Combox2的DropDown事件///<summary>///模块列表获取///</summary>///<paramname="sender"></param>///<paramname=......
  • vue3 jsx响应式渲染变量
    1、JSX渲染变量vue在html代码区渲染变量使用双大括号{{}},jsx在渲染是单大括号{}另外,这里随便记一下一个简单有点绕的业务逻辑2、多个变量影响判断三元表达式根据上图,想要的效果分别是:订单状态是否支付,显示对应状态已支付的订单是否申请开发票,显示对应状态;且已申请的无法......
  • [Python知识点]list列表append()和extend()的区别
    在Python中,list.append()和list.extend()都是列表(list)的方法,用于添加元素,但它们的工作方式有所不同:list.append(x):这个方法将对象x添加到列表的末尾。x可以是任何数据类型,包括列表。如果x是一个列表,那么这个列表会被作为一个单个元素添加到原列表的末尾。list.extend(itera......
  • vue3+ts封装一个uniapp的自动滚动列表,实现看板效果
    电视机上要以列表展示数据,并且数据会实时更新,电视机不能点击,所以考虑自动播放的一个效果。展示方案有两种:1、列表上下自动滚动实现轮播效果。(此时具体滚动的高度由用户自己决定,每次滚动几条数据)2、列表以“页”的形式做成轮播图的翻页效果。由于项目的电视机是有任务提示作......
  • pbootcms列表用istop置顶文章不管用的解决办法
    我们在运用pbootcms来构建网站的时候,于列表页使用了istop=1这一设置,并且在后台也进行了置顶操作,然而却毫无效果。 针对这个问题,通常是由于我们自身调用的缘故所致。倘若我们仅仅只想调用那些已经被置顶的文章,而不调用其他文章。此时,我们能够采用如下标签: {pboot:listis......
  • PbootCMS内容和列表页调用tags列表
    1、调用指定栏目下的内容tags: 在此处,tags的链接会指向所填scode分类下列表页。例如,如果填写了数字5和7,那么数字5下面的内容将指向5对应的列表页,而数字7下面的内容则会指向7对应的列表页。 {pboot:tagsscode=,}<ahref="[tags:link]">[tags:text]</a>{/pboot......
  • PbootCMS文章列表没有缩略图时也不显示默认图片怎么办
    在运用pbootcms模板来构建网站的整个流程之中,如果列表采用了缩略图予以显示,那么即使在后台未曾上传缩略图的情况下,依然会展示出默认图片。倘若我们并不期望显示默认图片,在此种情形下,我们便能够借助PB自身所带有的缩略图返回值,来对是否上传了缩略图进行判定。以下所呈现的是......
  • 渲染加速新选择:GPU云渲染平台的全方位评估
    在当今快速发展的数字时代,视觉内容的创造和呈现已成为各行各业的共同需求。无论是电影制作、游戏开发还是建筑设计,高质量的视觉输出都是不可或缺的。GPU云渲染平台以其强大的计算能力和灵活性,为这些行业提供了一种全新的解决方案。GPU云渲染平台概述基本概念:GPU云渲染平台是一......