此代码抛出错误(在Chrome中):“找不到匹配的评论标记:ko foreach:MyPlans”:
<table>
<!-- ko foreach: MyPlans -->
<tr>
<td>Test</td>
</tr>
<!-- /ko -->
</table>
如果我改用列表,一切正常:
<ul>
<!-- ko foreach: MyPlans -->
<li>
Test
</li>
<!-- /ko -->
</ul>
我想使用带有桌子的无容器foreach。有什么我做错了吗?这是一个错误吗?
答案 0 :(得分:89)
这与浏览器自动插入tbody
标记这一事实有关,这会在评论中产生不匹配。渲染的输出将如下所示:
<table>
<!-- ko foreach: MyPlans -->
<tbody>
<tr>
<td>Test</td>
</tr>
<!-- /ko -->
</tbody>
</table>
史蒂夫确实尝试纠正KO中不匹配的标签,但最简单的方法是自己添加tbody
或添加tbody
并对其进行绑定。
<table>
<tbody data-bind="foreach: MyPlans">
<tr>
<td>Test</td>
</tr>
</tbody>
</table>
如果需要,表格有多个tbody
标记是合法的。