1
<!-- 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 if to ItemType が 0 で、OfferId が何かである場合でも機能しません。なぜ?

4

2 に答える 2

2

コロンの前に JavaScript を入力していません。これはノックアウトのバインディングの名前です。else ifノックアウトに縛りはありません。

あなたがする必要があります:

<!-- ko if: ItemType() > 0 -->
    <div ...   </div>
<!-- /ko -->
<!-- ko if: ItemType() <= 0 && OfferId() != "" -->
  <div ...      </div>
<!-- /ko -->

バインディングの完全なリストについては、http://knockoutjs.comの左の列を参照してください。

「制御フロー」セクションにはifbinding - no がありelse ifます。

于 2012-12-04T11:35:34.187 に答える
0

2 番目のステートメントの else を削除します。私の知る限り、ノックアウトでバインドする場合は他にありません。

<!-- ko if: OfferId() != "" && ItemType() == 0 -->
  <div ...      </div>
<!-- /ko -->
于 2012-12-04T11:34:21.723 に答える