<!-- ko if: ItemType() > 0 -->
<div ... </div>
<!-- /ko -->
<!-- ko else if: OfferId() != "" -->
<div ... </div>
<!-- /ko -->
ItemType 和 OfferId 是对象中的属性,由
public string OfferId { get; set; }
public int ItemType { get; set; }
p.ItemType = ko.observable(item.ItemType);
p.OfferId = ko.observable(item.OfferId);
第一个 if 语句有效,但如果 ItemType 为 0 并且 OfferId 是某种东西,则其他语句无效。 为什么?
您没有在冒号前键入JavaScript。 这是 KNOCKOUT 中的绑定名称。 在淘汰赛中没有else if
绑定。
您将需要执行以下操作:
<!-- ko if: ItemType() > 0 -->
<div ... </div>
<!-- /ko -->
<!-- ko if: ItemType() <= 0 && OfferId() != "" -->
<div ... </div>
<!-- /ko -->
有关绑定的完整列表,请参阅左列 http://knockoutjs.com
"控制流"部分具有if
绑定 - 无else if
。
删除第二条语句中的 else 。 据我所知,如果在淘汰赛中绑定,没有其他方法。
<!-- ko if: OfferId() != "" && ItemType() == 0 -->
<div ... </div>
<!-- /ko -->