【问题标题】:Displaying data using v-for with VueJS使用 v-for 和 VueJS 显示数据
【发布时间】:2017-11-21 19:35:49
【问题描述】:

从数组中循环数据。问题是循环创建了 3 个空表,猜测是因为我正在调用 item。 3次。如果我想要数组中的数据而不用 Vue 创建空表,我应该如何显示数据?一直尝试在没有 v-for 循环的情况下使用 {{users.firstname}} 但似乎不起作用。

<table v-for="item in users">
        <tbody>
          <tr>
            <td>{{ item.username }}</td>
          </tr>
          <tr>
            <td>{{ item.firstname }}</td>
          </tr>
          <tr>
            <td>{{ item.lastname }}</td>
          </tr>
       </tbody>
      </table>

使用&lt;template v-for="item in users" v-if="item.username &amp;&amp; item.firstname &amp;&amp; item.lastname"&gt; 解决。没有额外的元素被打印出来。

【问题讨论】:

  • 将 v-for 指令从表格元素移动到 td
  • 您想要 3 张桌子,每件一张吗?或者你想要每个项目 3 行?我不确定您的预期输出是什么。
  • 我想要一张有 3 行的表,每行显示不同的数据。用户名名字和姓氏

标签: vue.js


【解决方案1】:

如果您想为每个用户创建 3 行,请使用 &lt;template&gt; 标记对它们进行分组,并在该模板上使用 v-for

  <table>
    <tbody>
      <template v-for="item in users">
        <tr>
          <td>{{ item.username }}</td>
        </tr>
        <tr>
          <td>{{ item.firstname }}</td>
        </tr>
        <tr>
          <td>{{ item.lastname }}</td>
        </tr>
     </template>
   </tbody>
  </table>

以这个小提琴为例:https://jsfiddle.net/nfa43bhq/

【讨论】:

  • 嗯仍然添加空行,在实际显示数据的行的上方和下方创建空行。
  • 可以很好地处理小提琴中的硬编码数据,问题是我从放入数组中的 API 获取数据,当我循环遍历时,它会出于某种原因创建空元素。跨度>
猜你喜欢
  • 2021-07-06
  • 1970-01-01
  • 2018-04-27
  • 2019-09-15
  • 2019-12-12
  • 2017-11-23
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多