【发布时间】:2023-04-03 22:48:01
【问题描述】:
我目前面临一个 vue.js 问题,我想在 v-for 循环中动态创建 html 标签。用例如下:
生成的 html 应如下所示:
<div class="wrapper">
<div class="item">1</div>
<div class="item">2</div>
</div>
<div class="wrapper">
<div class="item">3</div>
<div class="item">4</div>
</div>
...
我正在迭代的数组只包含 item 元素:
[
{
name: 1
},
{
name: 2
},
{
name: 3
},
{
name: 4
}
]
标准的 v-for 循环如下所示:
<div class="item" v-for="item in items">{{ item.name }}</div>
但显然缺少包装元素。我如何包括它们?我能想到的唯一解决方案是创建一个计算变量并将项目嵌套在那里,然后迭代嵌套版本。计算变量看起来像这样:
[
{
items: [
{
name: 1
},
{
name: 2
}
]
},
{
items: [
{
name: 3
},
{
name: 4
}
]
}
]
但我真的不想这样做,因为它笨重而且不是很好。完美的解决方案是在模板中以某种方式组织结构,例如我会用 php 来做。 (在适当的时候打开和关闭包装器div的html标签)。
【问题讨论】:
标签: javascript vue.js