广告
返回顶部
首页 > 资讯 > 精选 >Vue怎么实现条件渲染与列表渲染
  • 560
分享到

Vue怎么实现条件渲染与列表渲染

2023-06-30 16:06:14 560人浏览 安东尼
摘要

本文小编为大家详细介绍“Vue怎么实现条件渲染与列表渲染”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现条件渲染与列表渲染”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Vue条件渲染v-show

本文小编为大家详细介绍“Vue怎么实现条件渲染与列表渲染”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现条件渲染与列表渲染”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    一、Vue条件渲染

    v-show

        <!--使用v-show做条件渲染-->    <h2 v-show="false">{{name}}</h2>    <!--或-->    <h2 v-show="1===3">{{name}}</h2>

    Vue怎么实现条件渲染与列表渲染

    举例1

    Vue怎么实现条件渲染与列表渲染

    <div id="root">    <h3>当前n值是{{n}}</h3>    <button @click="n++">点我n+1</button>    <div v-show="n===1">2020</div>    <div v-show="n===2">2021</div>    <div v-show="n===3">2022</div></div><script type="text/javascript">    Vue.config.productionTip = false    //创建vue实例    new Vue({        el: "#root",        data: {            name: "你好",            n: 0        }    })</script>

    v-if

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

    Vue怎么实现条件渲染与列表渲染

    如果切换频率高用 v-show,切换频率低用 v-if

    v-else-if

    举例2

    <div id="root">    <h3>当前n值是{{n}}</h3>    <button @click="n++">点我n+1</button>    <div v-if="n===1">2020</div>    <div v-else-if="n===1">2021</div>    <div v-else-if="n===3">2022</div></div>

    Vue怎么实现条件渲染与列表渲染

    可以看到 v-if、v-else-if 的逻辑 和 if-else if 的逻辑是相同的,一个符合下边的代码就不执行了

    v-else

    <div id="root">    <h3>当前n值是{{n}}</h3>    <button @click="n++">点我n+1</button>    <div v-if="n===1">2020</div>    <div v-else-if="n===1">2021</div>    <div v-else-if="n===2">2022</div>    <div v-else>某年</div></div>

    v-if 与 template

    Vue怎么实现条件渲染与列表渲染

    <div id="root">    <h3>当前n值是{{n}}</h3>    <button @click="n++">点我n+1</button>    <template v-if="n===1">        <h3>2020</h3>        <h3>2021</h3>        <h3>2022</h3>    </template></div>

    小结

    条件渲染

    1、v-if

    写法:

    (1).v-if="表达式”

    (2).v-else-if="表达式"

    (3).v-else="表达式"

    • 适用于:切换频率较低的场景

    • 特点:不展示的DOM元素直接被移除

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

    2、v-show

    • 写法:v-show="表达式"

    • 适用于:切换频率较高的场景

    • 特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉

    3.备注:

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

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

    二、列表渲染

    v-show

    基本使用:

    Vue怎么实现条件渲染与列表渲染

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Vue初识</title>    <script type="text/javascript" src="./js/vue.js"></script></head><body><div id="root">    <!--遍历数组-->    <h3>人员列表(遍历数组)</h3>    <ul>        <li v-for="(p,index) in persons" :key="index">            {{p.name}}--{{p.age}}        </li>    </ul>    <!--遍历对象-->    <h3>猫咪信息(遍历对象)</h3>    <ul>        <li v-for="(value,k) in cat" :key="k">            {{k}}:{{value}}        </li>    </ul>    <!--遍历字符串-->    <h3>遍历字符串(用的少)</h3>    <ul>        <li v-for="(char,index) in str" :key="k">            {{char}}-{{index}}        </li>    </ul>    <!--遍历指定次数-->    <h3>遍历指定次数(用的少)</h3>    <ul>        <li v-for="(index,number) in 5" :key="index">            {{index}}-{{number}}        </li>    </ul></div><script type="text/javascript">    Vue.config.productionTip = false    //创建vue实例    new Vue({        el: "#root",        data: {            persons:[                {id:1,name:"张三",age:18},                {id:2,name:"李四",age:19},                {id:3,name:"王五",age:20},            ],            cat:{                name:"王大喵",                age:2,                color:"灰色"            },            str:"hello"        }    })</script></body></html>

    v-for指令

    • 用于展示列表数据

    • 语法:v-for="(item,index) in xxx" :key="yyy"

    • 可遍历:数组、对象、字符串(用的很少)、指定次数(用的很少)

    key的作用

    如果用 index 做 key,循环遍历 persons,同时在后边增加 input,内容复制展示的信息,然后增加一个按钮,点击在列表前增加一个老刘

    <div id="root">    <!--遍历数组-->    <h3>人员列表(遍历数组)</h3>    <ul>        <li v-for="(p,index) in persons" :key="index">            {{p.name}}--{{p.age}}            <input type="text"/>        </li>    </ul>    <button @click="add">增加一个老刘</button></div>
    <script type="text/javascript">    Vue.config.productionTip = false    //创建vue实例    new Vue({        el: "#root",        data: {            persons:[                {id:1,name:"张三",age:18},                {id:2,name:"李四",age:19},                {id:3,name:"王五",age:20},            ]        },        methods:{            add(){                const p = {id:4,name:"老刘",age:40}                this.persons.unshift(p)            }        }    })</script>

    Vue怎么实现条件渲染与列表渲染

    错乱原因:

    Vue怎么实现条件渲染与列表渲染

    当 id 做为 key

    <ul>        <li v-for="(p,index) in persons" :key="p.id">            {{p.name}}--{{p.age}}            <input type="text"/>        </li>    </ul>

    Vue怎么实现条件渲染与列表渲染

    Vue怎么实现条件渲染与列表渲染

    React、vue中的key有什么作用?(key的内部原理)

    1、虚拟DOM中key的作用

    key 是虚拟DOM对象的标识,当数据发生变化时,Vue会根据【新数据】生成【新的虚拟DON】,随后Vue进行【新虚拟DOM】与【旧虚拟DOM】的差异比较,比较规则如下:

    2、对比规则

    (1).旧虚拟DOM中找到了与新虚拟DOM相同的key:

    • ①若虚拟DOM中内容没变直,接使用之前的真实DOM

    • ②若虚拟DOM中内容变了,则生成新的真实DOM,随后替换掉页面中之前的真实DON

    (2).旧虚拟DOM中未找到与新虚拟DOM相同的 key:

    • 创建新的真实DOM,随后渲染到到页面

    3、用index作为key可能会引发的问题
    • (1).对数据进行:逆序添加、逆序删除等破坏顺序操作,会产生没有必要的真实DOM更新(界面效果没问题,但效率低)

    • (2).如果结构中还包含输入类的DOM,会产生错误DOM更新(界面有问题)

    4、开发中如何选择key?
    • (1).最好使用每条数据的唯一标识作为key,比如id、手机号、身份证号、学号等唯一值

    • (2).如果不存在对数据的逆序添加、逆序删除等破坏顺序操作,仅用于渲染列表用于展示,使用index作为key是没有问题的

    读到这里,这篇“Vue怎么实现条件渲染与列表渲染”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

    --结束END--

    本文标题: Vue怎么实现条件渲染与列表渲染

    本文链接: https://www.lsjlt.com/news/330289.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Vue怎么实现条件渲染与列表渲染
      本文小编为大家详细介绍“Vue怎么实现条件渲染与列表渲染”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现条件渲染与列表渲染”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Vue条件渲染v-show...
      99+
      2023-06-30
    • Vue条件渲染与列表渲染
      目录一、Vue条件渲染v-showv-ifv-else-ifv-elsev-if 与 template小结二、列表渲染v-showkey的作用1、虚拟DOM中key的作用2、对比规则...
      99+
      2022-11-13
    • Vue基础教程之条件渲染和列表渲染
      目录前言1.1 作用 1.2 控制元素显隐的方式 1.3 初始渲染对比 1.4 切换消耗对比 1.5 使用场景对比 1.6 其他 2 v-if 和 v-for 2.1 v-if 和 ...
      99+
      2022-11-12
    • Vue中条件渲染和列表渲染的示例分析
      这篇文章将为大家详细讲解有关Vue中条件渲染和列表渲染的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言什么是条件渲染?在我们的页面中会有很多这样的应用场景,比如说我们今天要上架一个活动,这个活...
      99+
      2023-06-25
    • 微信小程序如何实现列表渲染和条件渲染
      目录概述:循环渲染:渲染目标是列表时:渲染目标为字典时:总结概述: 要实现列表渲染我们首先要介绍一下< block标签. 该标签不会再列表中做任何渲染,一般当做容器使用. 我们...
      99+
      2022-11-13
    • Vue中怎么实现列表渲染
      这期内容当中小编将会给大家带来有关Vue中怎么实现列表渲染,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。<!DOCTYPE html> <ht...
      99+
      2022-10-19
    • Vue.js条件渲染、列表渲染及Vue中key值的内部原理是什么
      这篇文章主要介绍“Vue.js条件渲染、列表渲染及Vue中key值的内部原理是什么”,在日常操作中,相信很多人在Vue.js条件渲染、列表渲染及Vue中key值的内部原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
      99+
      2023-07-06
    • Vue.js条件渲染和列表渲染以及Vue中key值的内部原理
      目录条件渲染v-ifv-show列表渲染v-for指令面试题:key的内部原理条件渲染 v-if 写法:(1).v-if="表达式"(2).v-else-if=&...
      99+
      2023-05-15
      Vue.js条件渲染和列表渲染 Vue key值内部原理 Vue条件渲染 Vue列表渲染
    • React中怎么实现条件渲染
      今天就跟大家聊聊有关React中怎么实现条件渲染,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. if-else我们可以将 if-else 条件逻...
      99+
      2022-10-19
    • Vue列表渲染是怎样的
      Vue列表渲染是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。   变异方法(mutationmethod),顾名思义,会改变被这...
      99+
      2022-10-19
    • vue条件渲染包括什么
      本教程操作环境:windows7系统、vue3版,DELL G3电脑。条件渲染在某些情况下,我们需要根据当前的条件决定某些元素或组件是否渲染,这个时候我们就需要进行条件判断了。Vue提供了下面的指令来进行条件判断:v-ifv-elsev-e...
      99+
      2023-05-14
      条件渲染 Vue
    • Vue组件渲染与更新怎么实现
      这篇“Vue组件渲染与更新怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue组件渲染与更新怎么实现”文章吧。1. ...
      99+
      2023-07-05
    • 小程序的条件渲染怎么实现
      这篇文章主要介绍“小程序的条件渲染怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序的条件渲染怎么实现”文章能帮助大家解决问题。1.wx:if实现条件渲染在框架中,使用 wx:if=&qu...
      99+
      2023-07-04
    • 怎么使用React虚拟渲染实现多个图表渲染
      今天小编给大家分享一下怎么使用React虚拟渲染实现多个图表渲染的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。需求每行渲染3...
      99+
      2023-07-02
    • 【微信小程序】一文搞懂条件渲染、列表渲染以及wxss模板样式
      🐚作者简介:苏凉(专注于网络爬虫,数据分析,正在学习前端的路上) 🐳博客主页:苏凉.py的博客 🌐系列专栏:小程序开发基础教程 👑...
      99+
      2023-09-13
      微信小程序 小程序
    • 微信小程序怎么实现列表渲染
      这篇文章主要讲解了“微信小程序怎么实现列表渲染”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序怎么实现列表渲染”吧!wx:for通过wx:for可以根据指定的数组,循环渲染重复的组件...
      99+
      2023-07-04
    • vue中v-for指令怎么完成列表渲染
      这篇文章将为大家详细讲解有关vue中v-for指令怎么完成列表渲染,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、列表遍历最基本的使用案例1:<!DOCTYPE html><...
      99+
      2023-06-21
    • Vue的列表渲染指令v-for怎么使用
      这篇文章主要介绍“Vue的列表渲染指令v-for怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue的列表渲染指令v-for怎么使用”文章能帮助大家解决问题。Vue的列表渲染1.1.v-fo...
      99+
      2023-07-04
    • Vue中的动态组件怎么实现渲染
      本篇内容介绍了“Vue中的动态组件怎么实现渲染”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、什么是动态组件动态组件指的是动态切换组件的显...
      99+
      2023-06-30
    • vue中怎么实现服务端渲染
      本篇文章为大家展示了vue中怎么实现服务端渲染,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、什么是服务端渲染客户端请求服务器,服务器根据请求地址获得匹配的组件,...
      99+
      2022-10-19
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作