Ray*_*eng 8 asp.net-mvc knockout.js
我是Knockout.js的新手,我正在尝试将可观察数组中的数据显示为table.我遇到的问题是它生成两个tbody标签.但是如果我将空检查逻辑移动到foreach:循环中,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>
Run Code Online (Sandbox Code Playgroud)
在这样做时,我们大量使用虚拟元素.这里概述了它们http://knockoutjs.com/documentation/if-binding.html#note_using_if_without_a_container_element
你的标记的其余部分很好,但你可以将你的第一个tbody包装在这样的虚拟元素中:
<!-- ko if: requestList().length -->
<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>
<td><button data-bind="click: $parent.remove">Remove</button></td>
</tr>
</tbody>
<!-- /ko -->
Run Code Online (Sandbox Code Playgroud)
JSFiddle:http://jsfiddle.net/ZKWMh/
| 归档时间: |
|
| 查看次数: |
6314 次 |
| 最近记录: |