我在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,但无论我将比较改为什么,我的细胞都是向上箭头或全向下箭头。我在这里错过了什么?有没有更简单的方式说:
编辑:
<!-- 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时。
答案 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>