使用 vue.js 和 v-for 我想生成 <span>
的列表由“,”分隔的元素。
vue.js 中有一个简单的解决方案吗?
在 JavaScript 中我会做 users.join(", ")
.
或者在FreeMarker templates you can use quite fancy things with lists中我喜欢使用,例如
<#list users as user>
<span>
${user}<#sep>, </#sep>
</span>
<#else>
<p>No users</p>
</#list>
在 vue 中我还没有发现类似的东西。 (嗯,else
-部分当然可以使用 v-if 和 v-else 来完成。)我错过了什么吗?
或者什么是替代解决方案?我正在考虑使用模板,如果这不是最后一个索引,则通过将当前索引与数组的长度进行比较来生成分隔符。但是,如果我迭代对象的属性,这将不起作用。
最佳答案
是的。它需要使用 <template>
元素作为无标签容器和 index
列表中的属性。
<div>
<template v-for="(user, index) in users">
<template v-if="index > 0">,</template>
<span>{{user}}</span>
</template>
</div>
关于javascript - Vue.js 有没有办法在使用 v-for 时生成分隔符(类似于 `Array.join()` FreeMarker 的 `<#sep>` ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57315401/