首页 > 其他分享 >【vue3入门】-【7】列表渲染

【vue3入门】-【7】列表渲染

时间:2024-04-25 21:01:31浏览次数:25  
标签:key 入门 渲染 使用 列表 测试 vue3 title

列表渲染

  • v-for列表渲染

可以使用一个v-for指令基于一个数组来渲染一个列表,v-for指令的值需要使用item in items形式的特殊语法,其中items是源数据的数组,而item是迭代项的别名,item是可以改名的,和{{ }}内的名称保持一致就行,结合div或其他标签使用,可以获取列表内的多个属性值

v-for也支持使用可选的第二个参数表示当前项的位置索引(数组下标

也可以使用 of作为分隔符来替代in,这更接近javascript的迭代器语法

<template>
    <h3>列表渲染</h3>
    <p v-for="(name,index) in names">{{ name }}-{{ index }}</p> <!--列表中单个属性, 并且可以获取当前值的下标-->
    <div v-for="res in result"> <!--列表中多个属性-->
        <p :id="res.id">{{ res.title }}</p>
        <img :src="res.image">
    </div>
</template>

<script>
export default {
    data() {
        return {
            names: ["测试1", "测试2", "测试3"],
            result: [
                {
                    "id":123123,
                    "title": "第一個ID",
                    "image": "C:\Users\Administrator\Desktop\头像.jpg",
                },
                {
                    "id":123,
                    "title": "第二個ID",
                    "image": "C:\Users\Administrator\Desktop\头像.jpg",
                },
            ]
        }
    }
}
</script>
  • v-for与对象

也可以是用v-for来遍历一个对象的所有属性

<template>
    <h3>列表渲染</h3>
    <div>
        <p v-for="(value, key, index) of userInfo">{{ value }}-{{ key }}-{{ index }}</p>
        <p v-for="value of userInfo">{{ value }}</p>
        <!--value:对象值,key:对象key,index:对象下标,单独使用时返回的是value-->
    </div>

</template>

<script>
export default {
    data() {
        return {
           userInfo:{
                name:"iwen",
                age:20,
                sex:"男"
            }
        }
    }
}
</script>

image

  • 通过key管理状态

vue默认按照“就地更新”的策略来更新通过v-for渲染的元素列表。当数据项的顺序改变时,vue不会随之移动DOM元素的顺序。而是就地更新每个元素,确保他们在原本指定的索引位置上渲染

为了给vue一个提示,以便它可以跟踪每个节点的标识,从而重用和重新排序现有的元素,则需要为每个元素对应的块,提供一个唯一的keyattribute

<template>
    <h3>key属性添加到v-for中</h3>
    <p v-for="(value,index) of names" :key="index">{{ value }}</p>
</template>
<script>
export default{
    data(){
        return{
            names:["测试2","测试1","测试3"]
        }
    }
}
</script>

温馨提醒:

key在这里是通过v-bind绑定的特殊Attribute

推荐在任何可行的时候为v-for提供一个keyattribute

key绑定的期望值是一个基础类型的值,例如字符串或number类型

  • key的来源

请不要使用index来作为key使用,我们要确保每一条数据的唯一索引不会发生变化,因此一般使用接口返回的数据库id。

标签:key,入门,渲染,使用,列表,测试,vue3,title
From: https://www.cnblogs.com/T-Ajie/p/18158571

相关文章

  • 【vue3入门】-【8】事件处理
    事件处理我们可以使用v-on指令(简写为@)来监听DOM事件,并在事件触发时,执行对应的javascript。用法v-on:click="methodName"或者@click="handler"事件处理器的值可以是:内联事件处理器:事件被触发时执行的内联JavaScript语句(与onclick类似)方法事件处理器:一个指向组件上顶一个方法的......
  • 【Flink入门修炼】2-3 Flink Checkpoint 原理机制
    如果让你来做一个有状态流式应用的故障恢复,你会如何来做呢?单机和多机会遇到什么不同的问题?FlinkCheckpoint是做什么用的?原理是什么?一、什么是Checkpoint?Checkpoint是对当前运行状态的完整记录。程序重启后能从Checkpoint中恢复出输入数据读取到哪了,各个算子原来的状态是......
  • 【vue3入门】-【2】文本插值
    文本插值最基本的数据绑定形式是文本插值,它使用的是”Mustache“语法(即双大括号)<script>exportdefault{data(){return{msg:"神奇的语法"}}}//以上为文本插值的固定使用格式</script><template><h3>模版语法</h3><p>{{msg}}</p></templ......
  • 【vue3入门】-【3】使用javascript表达式
    使用javascript表达式每个绑定仅支持单一表达式,也就是一段能够被求值的JavaScript代码。一个简单的判断方法是是否可以合法的写在return后面。<template><h3>模版语法</h3><p>{{msg}}</p><p>{{number+1}}</p><p>{{ok?"yes":"No"}}</......
  • 【vue3入门】-【4】插入html
    原始html双大括号,将会将数据插值为纯文本,而不是html,若想要插入html,则需要使用v-html指令<template><h3>模版语法</h3><p>{{tthtml}}</p><!--会直接将html文本展示出来-->><pv-html="tthtml"></p><!--会在进行渲染后展示出来-->></templa......
  • vue中函数使用、class和style属性、条件渲染、列表渲染、数据的双向绑定、input事件、
    【事件指令中的函数使用】1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<title>Title</title>6<scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"&......
  • 【vue-入门】-【1】Vue介绍与项目结构
    Vue是什么?渐进式javaScript框架,易学易用,性能出色,适用场景丰富的web框架官方文档地址:https://cn.vuejs.orgVue简介是渐进式javascript框架,易学易用,性能出色,适用场景丰富的web前端框架Vue是一款用于构建用户节点的javascript框架。它基于标准html、css、javascript构建并提......
  • 3d软件哪个适合新手学?3D动画渲染怎么好
    在不同的行业领域,3D建模和动画的需求各异,因此所需的3D软件工具也会有所不同。对于刚开始接触3D设计的新手来说,软件的易操作性、丰富的学习资源以及与自己专业领域相关的功能是选择时的重要考虑因素。以下是几款适合初学者入门的3D软件推荐。工业设计师:犀牛、Alias犀牛和Alias......
  • vue3使用echarts的tree,自己写事件进行分页
    vue3使用echarts的tree,自己写事件进行分页  先到npmjs官网查看当前使用最多的版本https://www.npmjs.com/package/echarts 看了下5.5.0用的最多[email protected] 以下的demo(“@/flare”是后面的flare.json数据)<template><divid="chart-container"></div......
  • blender python api 使用脚本进行动画渲染
    1.摄像机“Camera”在一个名叫“渲染”的集合中2.代码:importbpy#设置输出路径和文件名output_path="/path/to/output/"#替换为你的输出路径filename="rendered_animation"#输出文件的前缀#获取名为“渲染”的集合render_collection_name="渲染"render_c......