このコードはエラーをスローします(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を使用したいと思います。私が間違っていることはありますか?バグですか?
これは、ブラウザがtbody
タグを自動的に挿入するため、コメントに不一致が生じることに関連しています。レンダリングされた出力は次のようになります。
<table>
<!-- ko foreach: MyPlans -->
<tbody>
<tr>
<td>Test</td>
</tr>
<!-- /ko -->
</tbody>
</table>
SteveはKOで不一致のタグを修正するためにいくつかの作業を行いましたが、あなたが行う最も簡単なことは、tbody
を自分で追加するか、tbody
を追加してバインディングをそれに置くことです。
<table>
<tbody data-bind="foreach: MyPlans">
<tr>
<td>Test</td>
</tr>
</tbody>
</table>
必要に応じて、テーブルが複数のtbody
タグを持つことは正当です。