Javascript knockout.js中的If语句未按预期工作
每当数据数组为空时,我都试图在表行中显示字符串“No data was found.”,但不管发生什么情况,似乎总是打印消息 (忽略条件Javascript knockout.js中的If语句未按预期工作,javascript,knockout.js,knockout-3.0,Javascript,Knockout.js,Knockout 3.0,每当数据数组为空时,我都试图在表行中显示字符串“No data was found.”,但不管发生什么情况,似乎总是打印消息 (忽略条件orders.length==0) 我做错了什么 <table> <thead> <tr> <th>Truck</th> <th>Pickup</th> </tr> <
orders.length==0
)
我做错了什么
<table>
<thead>
<tr>
<th>Truck</th>
<th>Pickup</th>
</tr>
</thead>
<!-- ko if: orders.length==2 -->
<tbody>
<tr colspan="2">No data was found.</tr>
</tbody>
<!-- /ko -->
<tbody data-bind="foreach: orders">
<tr>
<td data-bind="text: truck"></td>
<td></td>
</tr>
</tbody>
</table>
卡车
改善
没有找到任何数据。
如果您的订单
是一个ko.observableARay
您需要编写orders()
以获取基础数组并从中获取长度:
<!-- ko if: orders().length== 0 -->
演示。我更改了它,但它没有达到我预期的效果。似乎恰恰相反:@Alvaro你的小提琴有几个问题。“未找到任何数据”不在
中,因此最终位于错误的位置,并且您对数据的分配不正确-它应该是self.orders(数据)代码>-不需要=
。谢谢你指出我的错误!我会在3分钟内接受答案。
<!-- ko if: orders().length==0 -->
<tbody data-bind="if: orders().length==0">
<tr colspan="2"><td>No data was found.</td></tr>
</tbody>
<!-- /ko -->