Switch / Case语句无法基于数值填充单元格

时间:2014-02-20 20:45:44

标签: javascript knockout.js

我在KnockoutJS中使用以下case语句。

<tbody data-bind="foreach: statusList">
    <tr>
        <td class="col-sm-3" data-bind="text: CompanyName"></td>
        <!-- ko switch: true -->
            <!-- ko case: Status == '1' -->
                <td class="glyphicon glyphicon-arrow-up col-sm-2"></td>
            <!-- /ko -->
            <!-- ko case: $else -->
                <td class="glyphicon glyphicon-arrow-down col-sm-2"></td>
            <!-- /ko -->
        <!-- /ko -->
        <td class="col-sm-7" data-bind="text: Message"></td>
    </tr>
</tbody>

状态可以是1或0,但无论我将比较改为什么,我的细胞都是向上箭头或全向下箭头。我在这里错过了什么?有没有更简单的方式说:

  • 如果状态== 1显示向上箭头
  • 否则显示向下箭头

编辑:

 <!-- ko if: Status() == '1' -->
    <td class="glyphicon glyphicon-arrow-up col-sm-2"></td>
<!-- /ko -->
<!-- ko ifnot: Status() == '1' -->
    <td class="glyphicon glyphicon-arrow-down col-sm-2"></td>
<!-- /ko -->

这导致它起作用,但我不确定为什么当我说text: Status它会显示1或0时。

1 个答案:

答案 0 :(得分:1)

试试这个:

<tbody data-bind="foreach: statusList">
    <tr>
        <td class="col-sm-3" data-bind="text: CompanyName"></td>
        <!-- ko switch: true -->
                <td data-bind="case.visible: Status() == '1'" class="glyphicon glyphicon-arrow-up col-sm-2"></td>
                <td data-bind="case.visible: $else" class="glyphicon glyphicon-arrow-down col-sm-2"></td>
        <!-- /ko -->
        <td class="col-sm-7" data-bind="text: Message"></td>
    </tr>
</tbody>