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

  • Dopelives

    Dopelives

    30 Temmuz 2009
  • ELawshea

    ELawshea

    26 Mayıs 2008
  • Truc Minh

    Truc Minh

    23 Ocak 2011