0

Breeze (1.3.1 から 1.3.6) と Durandal (1.1.? から 1.2.0) Knockout (2.2.1 は変更されていません) の新しいバージョンでプロジェクトを更新しました。

次のようなノックアウト バインディングがあります。

<div id="payerListBody" class="span11" data-bind="foreach: payers">
  <div class="row" data-bind="click: $parent.payerClicked">
    <div class="span1" data-bind="text: shortName"></div>
    <div class="span5" data-bind="text: name"></div>
    <div class="span2" data-bind="if: contact">        <---- this binding now produces an error
      <div class="span2" data-bind="foreach: contact().phones()">
        <span class="span2" data-bind="text: fullPhone() + '-' + contactScope().name()"></span>
        <br />
      </div>
      </div>
  </div>
  <div class="ui-state-highlight" data-bind="click: $parent.payerClicked"></div>
</div>

更新前は正常に機能していましたが、エラーが発生しました:

「バインディングを解析できません。メッセージ: ReferenceError: 連絡先が定義されていません。バインディング値: if: 連絡先」

Contact 属性は、Payer クラスに関連付けられた必須ではない複合型です。

  public class Payer : BaseData
  {
    public Payer()
    {
      Incentives = new List<PayerIncentiveProgram>();
    }
    public string Name { get; set; }
    public string ShortName { get; set; }
    public Contact Contact { get; set; }
    public Boolean HasIncentiveProgram { get; set; }
    public ICollection<PayerIncentiveProgram> Incentives { get; set; }
  }

洞察をありがとう...

4

0 に答える 0