我是Knockout.js的新手,我试图将数据从可观察数组显示到table
。 我遇到的问题是它会生成两个tbody
标签。但是如果我将空的检查逻辑移动到foreach:
循环中,那么No Data
根本就不会显示出来。如何在可观察数组为空时显示No Data?
有没有更好的方法来做到这一点使用表?在这种情况下,我不喜欢使用ul
或ol
。
<table>
<thead>
<tr>
<th>Permit</th>
<th>Region</th>
<th>Landowner</th>
</tr>
</thead>
<tbody data-bind="foreach: requestList">
<tr>
<td><span data-bind="text: permit"></span></td>
<td><span data-bind="text: region"></span></td>
<td><span data-bind="text: landowner"></span></td>
</tr>
</tbody>
<tbody data-bind="if: requestList().length === 0">
<tr>
<td colspan="3">No Data</td>
</tr>
</tbody>
</table>
正常工作对我来说: http://jsfiddle.net/tyrsius/4jdxk/ – Tyrsius
@Tyrsius,我的标记可以显示。但是在渲染后,如果你看DOM,在table下有两个'tbody'标签。我不认为这是有效的HTML。不是吗?我只想在'table'标签下生成一个'tbody'标签。 –