学习vue20.17.0-列表渲染

news/2024/10/16 7:20:58 标签: 学习, javascript, 前端

列表渲染

官方中文网站:列表渲染 | Vue.js (vuejs.org)



v-for


    我们可以使用 v-for 指令基于一个数组来渲染一个列表。

    v-for 指令的值需要使用 item in items 形式的特殊语法,

    其中 items 是源数据的数组,而 item 是迭代项的别名:
  

演示代码:

     js 代码:
         const items = ref([{ message: 'Foo' }, { message: 'Bar' }])
  
     template 代码:
        <li v-for="item in items">
          {
 { item.message }}
        </li>
     演示结果:
  • Foo
  • Bar

    在 v-for 块中可以完整地访问父作用域内的属性和变量。

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

  

演示代码:

     js 代码:
        const parentMessage = ref('Parent')
        const items = ref([{ message: 'Foo' }, { message: 'Bar' }])
  
     template 代码:
        <li v-for="(item, index) in items">
            {
 { parentMessage }} - {
 { index }} - {
 { item.message }}
        </li>
     演示结果:
  • Parent - 0 - Foo
  • Parent - 1 - Bar

    v-for 变量的作用域和下面的 JavaScript 代码很类似:

  

演示代码:

     js 代码:
        const parentMessage = ref('Parent')
        const items = [
                          /* ... */
                            { message: 'Foo' },
                            { message: 'Bar' }
                      ]
  
     console.log 代码:
        items.forEach((item, index) => {
        // 可以访问外层的 `parentMessage`
        // 而 `item` 和 `index` 只在这个作用域可用
        console.log(parentMessage, item.message, index)
        })
     演示结果:
  • RefImpl {dep: Dep, __v_isRef: true, __v_isShallow: false, _rawValue: 'Parent', _value: 'Parent'} 'Foo' 0
  • RefImpl {dep: Dep, __v_isRef: true, __v_isShallow: false, _rawValue: 'Parent', _value: 'Parent'} 'Bar' 1

  注意 v-for 是如何对应 forEach 回调的函数签名的。

  实际上,你也可以在定义 v-for 的变量别名时使用解构,和解构函数参数类似:

  

演示代码:

     js 代码:
         const parentMessage = ref('Parent')
         const items = [
                          /* ... */
                            { message: 'Foo' },
                            { message: 'Bar' }
                       ]
  
     template 代码:
         <li v-for="{ message } in items">
                {
 { message }}
         </li>
         <!-- 有 index 索引时 -->
         <li v-for="({ message }, index) in items">
                 {
 { message }} {
 { index }}
         </li>
     演示结果:
  • Foo
  • Bar
  • Foo 0
  • Bar 1

  对于多层嵌套的 v-for,作用域的工作方式和函数的作用域很类似。

  每个 v-for 作用域都可以访问到父级作用域:

  

演示代码:

     js 代码:
         const items=[
                          { message: 'Hello', children: ['A', 'B', 'C'] },
                          { message: 'World', children: ['X', 'Y', 'Z'] }
                      ]
  
     template 代码:
         <li v-for="item in items">

http://www.niftyadmin.cn/n/5707548.html

相关文章

Python案例 | 测试网络的下载速度上传速度和 ping 延迟

使用了 speedtest 库来测试网络的下载速度上传速度和 ping 延迟 注意&#xff0c;这里需要先卸载speedtest&#xff0c;再安装speedtest-cli pip uninstall speedtest pip install speedtest-cli其次运行代码&#xff1a; # 使用了 speedtest 库来测试网络的下载速度上传速度…

PetaLinux工程的常用命令——petalinux-create

petalinux-create&#xff1a;此命令创建新的PetaLinux项目或组件。 注&#xff1a;有些命令我没用过&#xff0c;瞎翻译有可能会翻译错了&#xff0c;像是和fpgamanager相关的部分。 用法: petalinux-create [options] <-t|--type <TYPE> <-n|--name <COMPONEN…

深入解析CSS中的!important规则

深入解析CSS中的!important规则 一、引言 在CSS的世界里&#xff0c;样式的优先级通常由选择器的特异性、在样式表中的位置&#xff08;后来的规则覆盖先前的规则&#xff09;以及继承等因素决定。然而&#xff0c;!important规则就像一把双刃剑&#xff0c;它可以打破这些规…

TCP(Transmission Control Protocol,传输控制协议)整理

TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的传输协议&#xff0c;它是OSI&#xff08;Open System Interconnection&#xff0c;开放式系统互联&#xff09;模型中的第四层协议&#xff0c;通常使用于网络中的…

多态常见面试问题

1、什么是多态&#xff1f; 多态&#xff08;Polymorphism&#xff09;是面向对象编程中的一个重要概念&#xff0c;它允许同一个接口表现出不同的行为。在C中&#xff0c;多态性主要通过虚函数来实现&#xff0c;分为编译时多态&#xff08;静态多态&#xff09;和运行时多态…

自定义类型:结构体【上】

一.结构体类型的声明 结构是一些值的集合&#xff0c;这些值称为成员变量&#xff0c;结构的每个成员可以是不同类型的变量。结构的声明基本形式&#xff1a; struct tag {member-list; }variable-list;例如描述一个学生&#xff1a; 二.结构体变量的创建和初始化 我们直接先来…

欧几里得球(Euclidean Ball)和椭球(Ellipsoid)

文章目录 一、欧几里得球&#xff08;Euclidean Ball&#xff09;1. 定义2. 欧几里得距离3. 例子4. 性质 二、椭球&#xff08;Ellipsoid&#xff09;1. 定义2. 具体形式3. 例子4. 性质5. 变换关系 三、欧几里得球与椭球的关系四、应用1. 统计学2. 优化理论3. 物理学4. 计算机图…

夏普MX-M4608N报(需要维护。代码:FK3)故障检修

基本参数: 型 号:MX-M4608N 产品类型:数码复印机 涵盖功能:复印/打印/扫描/传真 速度类型:高速 标配内存:复印打印内存3GB(可选购2GB内存) 硬盘容量:320G 预热时间:12秒 接口类型:USB2.0接口,RJ-45接口 最大原稿尺寸:A3 供纸容量:60-220克;手送纸盒…