3

ブレイズ前にうまく機能していたコードが、ブレイズ後に期待どおりに機能せず、チェックボックスの処理が変更されたコードがあります。

コードはかなり単純です

  <div class="modal-footer">
    <label for="packed" class="checkbox-inline input-lg">Packed</label>
      <input type="checkbox" name="packed" id="packed" checked={{isPacked evt}}/>
    {{#if isPacked evt}}
      Packed
    {{else}}
      Not Packed
    {{/if}}
    <label for="delivered" class="checkbox-inline input-lg">Delivered</label>
      <input type="checkbox" name="delivered" id="delivered" disabled={{disDelivered evt}}  checked={{isDelivered evt}}/>
    <button type="button" class="btn btn-default" id="closeEdit">Close</button>
  </div>

「Not Packed」という行は期待どおりに表示されますが、チェック ボックスは両方ともチェックされており (両方のテストでは false が返されます)、期待どおりに無効になっています。

テストで false が返されたにもかかわらず、なぜチェック ボックスがオンになっているのか、一生わかりません。

4

1 に答える 1

4

Blaze は返されたオブジェクトを自動的に属性に変換するため{checked:"checked"}、チェックボックスをオンにする必要がある場合は isPacked から戻り、そうでない場合は暗黙的に戻ります。

于 2014-05-01T01:50:28.643 に答える