<!-- 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语句有效但不是else,即使ItemType为0且OfferId是什么的。为什么呢?
答案 0 :(得分:2)
你没有在冒号之前输入javascript。这是淘汰赛中绑定的名称。在淘汰赛中没有else if
绑定。
你需要这样做:
<!-- ko if: ItemType() > 0 -->
<div ... </div>
<!-- /ko -->
<!-- ko if: ItemType() <= 0 && OfferId() != "" -->
<div ... </div>
<!-- /ko -->
有关绑定的完整列表,请参阅http://knockoutjs.com
的左栏“控制流”部分包含if
绑定 - 无else if
。
答案 1 :(得分:0)
删除第二个语句中的else。据我所知,没有其他东西可以在淘汰赛中结束。
<!-- ko if: OfferId() != "" && ItemType() == 0 -->
<div ... </div>
<!-- /ko -->