Knockout.js 无容器“foreach”不使用
此代码抛出错误(在 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 与表一起使用。我做错了什么吗?这是一个错误吗?
This code throws the error (in Chrome): "Cannot find closing comment tag to match: ko foreach: MyPlans":
<table>
<!-- ko foreach: MyPlans -->
<tr>
<td>Test</td>
</tr>
<!-- /ko -->
</table>
If I use a list instead, everything works:
<ul>
<!-- ko foreach: MyPlans -->
<li>
Test
</li>
<!-- /ko -->
</ul>
I would like to use the containerless foreach with a table. Is there something I'm doing wrong? Is it a bug?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这与浏览器自动插入
tbody
标签有关,这会导致注释不匹配。渲染的输出将如下所示:Steve 确实投入了一些工作来尝试纠正 KO 中不匹配的标签,但对您来说最简单的事情是自己添加
tbody
或添加tbody< /code> 并将您的绑定放在上面。
如果需要的话,一个表可以有多个
tbody
标签。This is related to the fact that browsers insert
tbody
tags automatically, which creates a mismatch in the comments. The rendered output will look like:Steve did put some work into trying to correct mismatched tags in KO, but the easiest thing for you to do is either add the
tbody
yourself or add thetbody
and put your binding on it.It is legal for a table to have multiple
tbody
tags, if necessary.