0

我正在尝试显示字符串“未找到数据”。每当数据数组为空时,在表格行内,但无论如何似乎总是会打印消息。

在线复制(忽略条件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>
4

1 回答 1

2

如果你orders是一个ko.observableArray你需要写orders()来获取底层数组并从那里获取长度:

<!-- ko if: orders().length== 0 -->

您的 HTML 也无效,td缺少以下元素:

<!-- ko if: orders().length==0 -->
    <tbody data-bind="if: orders().length==0">
        <tr colspan="2"><td>No data was found.</td></tr>
    </tbody>
<!-- /ko -->

演示JSFiddle

于 2015-06-29T11:00:31.630 回答