SORU
19 Temmuz 2012, PERŞEMBE


Nasıl-Eğer Başka bir veriye bağlı yapı manzarası şablon için?

Ben sürekli KO-tabanlı HTML şablonları: bu deyim kullanılarak buluyorum

<!-- ko if: isEdit -->
<td><input type="text" name="email" data-bind="value: email" /></td>
<!-- /ko -->
<!-- ko ifnot: isEdit -->
<td data-bind="text: email"></td>
<!-- /ko -->

Orada KO bilgi almak, yapacak daha iyi/daha temiz bir yoldur, ya da orada bir daha iyidiryaklaşımsadece-eğer başka yapıları? geleneksel kullanmaktan daha

Ayrıca, sadece İnternet Explorer bazı sürümlerinde (YANİ 8/9) yukarıdaki örnekte, doğru ayrıştırma olmadığını belirtmek isterim. Daha fazla bilgi için this SO question bakın lütfen. Hızlı Özet, (sanal veri bağlantıları) YANİ destek için tablo etiketleri içinde yorum kullanmayın. tbody kullanın:

<tbody data-bind="if: display"><tr><td>hello</td></tr></tbody>

CEVAP
19 Temmuz 2012, PERŞEMBE


Bu tür bir kod işleyebilir birkaç farklı yolu vardır.

  • istersen/Eğer yoksa bir kombinasyonu ile. Bu gayet iyi çalışıyor ve çok ayrıntılı değil.

  • Dava bağlama (https://github.com/mbest/knockout-switch-case)/Michael İyisi bu geçiş oldukça esnektir ve kolayca bu ve daha karmaşık olanları (gerçek den fazla ülke/yanlış) halletsin.

  • Başka bir seçenek dinamik şablonları kullanmaktır. Şablon adı gözlemlenebilir dayalı olarak kullanılan bir veya daha fazla şablon için bir alana bağlamak. Bu konu hakkında yazdığım bir yazı burada bir süre geri: http://www.knockmeout.net/2011/03/quick-tip-dynamically-changing.html. Senaryo gibi görünebilir:

<td data-bind="template: $root.getCellTemplate"></td>

<script id="cellEditTmpl" type="text/html">
    <input type="text" name="email" data-bind="value: email" />
</script>

<script id="cellTmpl" type="text/html">
    <span data-bind="text: email"></span>
</script>

getCellTemplate işlev her yerde yaşayabilir, ama item verilecek ($veri) ilk değişken olarak ve şablon adını kullanmak için geri döner.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • colacas

    colacas

    29 EKİM 2006
  • MkElite

    MkElite

    13 NİSAN 2012
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006