【问题标题】:Vuejs v-for loop with tag combination带有标签组合的Vuejs v-for循环
【发布时间】:2020-05-08 14:14:16
【问题描述】:

我想为每个 v-for 循环循环两个列表标签,而不循环 ul。 vuejs中是否有任何内部循环可以通过循环来逃避ul标签,或者是否有任何其他方法。

<ul id="example-1" v-for="(item, index) in items" :key="item.message">
  <li >
    {{ item.message }}
  </li>
  <li>
   {{ item.text}}
  </li>
</ul>
var example1 = new Vue({
  el: '#example-1',
  data: {
    items: [
      { message: 'Foo', text: "baz" },
      { message: 'Bar', text: "quz" }
    ]
  }
})

我能得到的明显结果是:

  • 酒吧

  • 巴兹
  • 问答

  • 我需要的结果:

  • 巴兹
  • 酒吧
  • 问答
  • 【问题讨论】:

      标签: vue.js v-for


      【解决方案1】:

      您可以在&lt;template&gt; 标签上循环。

      <ul id="example-1">
        <template v-for="item in items">
          <li>
            {{ item.message }}
          </li>
          <li>
           {{ item.text}}
          </li>
        </template>
      </ul>
      

      如果您使用的是 Vue ,那么您需要将键分配给内部元素,因为模板无法被键控。

      如果您使用的是 Vue 3.x,那么您应该为 &lt;template&gt; 分配一个键。这是早期版本中的breaking change

      【讨论】:

      • 我正在使用 Vue3 和 Vue-cli,当我尝试键入 &lt;template v-for=...&gt; 的关键子元素时,我收到错误 VueCompilerError: &lt;template v-for&gt; key should be placed on the &lt;template&gt; tag。我之前评论过这个github问题:github.com/vuejs/vue/issues/6470
      • 谢谢,@NathanGoings。我已经更新了我的答案。
      • 哇!我怎么会错过那个“突破性的变化”!谢谢你的链接。
      猜你喜欢
      • 1970-01-01
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 2022-06-25
      相关资源
      最近更新 更多