Vue.component生成的表格不显示数据,是什么原因?

霞舞
发布: 2025-02-21 18:34:01
原创
398人浏览过

Vue.component生成的表格不显示数据,是什么原因?

vue.component 生成的表格无法显示数据的排查与解决

本文分析了使用 Vue.component 创建表格时,数据无法正确显示的问题,并提供了详细的解决方案。

问题描述:

开发者使用 Vue.component 创建了一个表格组件,但数据未能正确渲染。代码示例如下:

<code class="javascript">Vue.component('each-list', {
  props: ['obj'],
  template: '<tr><td>{{obj.num}}<td>{{obj.person}}<td>{{obj.attribute}}' //缺少闭合标签和关键属性
})

var myTable = new Vue({
  el: "#myTable",
  data: {
    rows: [
      { num: 1, person: "张龙", attribute: "外包" },
      { num: 2, person: "赵虎", attribute: "外包" },
      { num: 3, person: "王朝", attribute: "外包" },
      { num: 4, person: "马汉", attribute: "本部" }
    ]
  }
});</code>
登录后复制

问题原因分析:

立即学习前端免费学习笔记(深入)”;

原始代码存在以下两个主要问题:

  1. template 标签缺失闭合标签及关键属性: each-list 组件的 template 属性缺少 闭合标签,导致表格行结构不完整。此外,缺少 v-for 指令来循环渲染数据。

    阿里云-虚拟数字人
    阿里云-虚拟数字人

    阿里云-虚拟数字人是什么? ...

    阿里云-虚拟数字人 2
    查看详情 阿里云-虚拟数字人
  2. 缺少唯一 key 属性: 在使用 v-for 循环渲染列表时,为每个列表项添加一个唯一的 key 属性至关重要。这有助于 Vue.js 跟踪列表项的变化,并高效地更新 DOM。

解决方案:

为了解决以上问题,需要对代码进行如下修改:

  1. 完善 each-list 组件的 template 添加 闭合标签,确保表格行结构完整。

  2. 在父组件中使用 v-for 循环渲染 each-list 组件: 使用 v-for 指令遍历 rows 数据,并为每个 <tr> 元素添加唯一的 <code>key 属性。

    修改后的代码如下:

    <code class="javascript">Vue.component('each-list', {
      props: ['obj'],
      template: '<tr><td>{{obj.num}}</td><td>{{obj.person}}</td><td>{{obj.attribute}}</td></tr>'
    })
    
    var myTable = new Vue({
      el: "#myTable",
      data: {
        rows: [
          { num: 1, person: "张龙", attribute: "外包" },
          { num: 2, person: "赵虎", attribute: "外包" },
          { num: 3, person: "王朝", attribute: "外包" },
          { num: 4, person: "马汉", attribute: "本部" }
        ]
      },
      template: `<table>
                  <each-list v-for="row in rows" :key="row.num" :obj="row"></each-list>
                </table>` //在父组件中使用v-for循环渲染组件,并添加key属性
    });</code>
    登录后复制

    通过以上修改,Vue.component 生成的表格就能正确显示数据了。 记住,key 属性对于 Vue.js 的高效渲染至关重要,尤其是在处理动态列表时。 选择一个唯一且稳定的属性作为 key,例如数据库主键或对象的唯一标识符。

以上就是Vue.component生成的表格不显示数据,是什么原因?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号