Vue.js v-for呈现具有多个tr的html表
我有一个表,其中每个“逻辑”行包含两个“标记行”Vue.js v-for呈现具有多个tr的html表,vue.js,Vue.js,我有一个表,其中每个“逻辑”行包含两个“标记行” {{矩(note.noteTime).format('YYYY-MM-DD HH:MM')} {{note.locationName} {{note.noteText} 有没有一种方法可以在vue中生成此类表而不影响html语法(template元素在tbody中无效)?不会生成html元素,因此不会干扰html语法。 VueJS文档中实际上有一个类似的示例: {{item.msg} 下面是一个JSFIDLE,以查看实际文档中的示例
{{矩(note.noteTime).format('YYYY-MM-DD HH:MM')}
{{note.locationName}
{{note.noteText}
有没有一种方法可以在vue中生成此类表而不影响html语法(template元素在tbody中无效)?
不会生成html元素,因此不会干扰html语法。
VueJS文档中实际上有一个类似的示例:
- {{item.msg}
下面是一个JSFIDLE,以查看实际文档中的示例。您可以检查HTML语法:
模板
元素只是一个虚拟包装器,它不会存在于结果html中,因此您的模板应该可以工作。您是因为Internet Explorer而问这个问题的吗?但是当html来自服务器时(在vue初始化之前),它是否有效?是,我知道模板是“虚拟”元素,但我在vue初始化之前询问html的有效性(javascript尚未处理html)。为什么您会担心这一点?浏览器只会看到呈现的HTML,然后语法的有效性就会成为一个问题。我担心这种情况下的seo排名。曾经有一段时间,html有效性是seo排名的一个组成部分。我不确定爬虫程序是否会看到VueJS模板代码(除非您有错误或js被禁用,但这应该在其他地方处理)。除此之外,我不确定搜索引擎爬虫是否真的关心有效的HTML,只要他们能够解析它——例如谷歌似乎并不关心有效的标记。好的,谢谢你提供更多信息。看起来你说得很对——如果GoogleBoot能够在没有错误的情况下解析html,那么一切都应该正常
<table class="table table-bordered">
<tbody>
<template v-for="(note, index) in notes">
<tr>
<td>
{{ moment(note.noteTime).format('YYYY-MM-DD HH:mm') }}
</td>
<td>
{{ note.locationName }}
</td>
</tr>
<tr>
<td colspan="2">
{{ note.noteText }}
</td>
</tr>
</template>
</tbody>
</table>
<ul>
<template v-for="item in items">
<li>{{ item.msg }}</li>
<li class="divider" role="presentation"></li>
</template>
</ul>