19

İşte ben Nadel'in demo tek sayfa uzun ömürlü AJAX uygulamasından bir JavaScript şablonunun örneği: [source]JavaScript şablon motorları ne zaman kullanılır?

<script id="contact-list-item-template" type="application/template"> 

    <li class="contact clear-fix"> 

      <div class="summary"> 
        <a class="name">${name}</a> 
      </div> 

      <div class="actions"> 
        <a href="javascript:void(0)" class="more">more</a> &nbsp;|&nbsp; 
        <a href="#/contacts/edit/${id}" class="edit">edit</a> &nbsp;|&nbsp; 
        <a href="#/contacts/delete/${id}" class="delete">delete</a> 
      </div> 

      <dl class="details clear-fix"> 
        <dt> 
          name: 
        </dt> 
        <dd> 
          ${name} 
        </dd> 
        <dt> 
          phone: 
        </dt> 
        <dd> 
          ${phone} 
        </dd> 
        <dt> 
          email: 
        </dt> 
        <dd> 
          ${email} 
        </dd> 
      </dl> 

    </li> 

JavaScript şablon motorlarının kullanımının amacının ne olduğunu sormak istiyorum o? Bant genişliğini korumak için mi? Sadece Separation of concerns meselesi mi? Tarayıcı belleğinde sorunların çözümünde yardımcı olur mu?

Şablon altyapısını ne zaman kullanmalıyım ve ham HTML AJAX yanıtlarıyla daha kolay bir şekilde ne zaman kullanmalıyım?

İlgili tartışma:

JQuery templating engines

+2

Ben de bu öğrenmek istiyorum: Biz istemci tarafı şablon kullanmak ne zaman? – jrharshath

+0

@Jr: Lütfen cevabıma bakın. – Tarik

cevap

39

şablonu birkaç senaryolarda iyi bir çözümdür:

  • özellikle zengin listesinde sunucudan tüm verileri yükleniyor
  • ekleme veya görüntüler Listelerdeki yeni öğeleri güncelleme
  • o sayfaya render istemci tarafı HTML gerektirir
  • şey yeni kompleks içerik eklemek

Kaynak: http://www.west-wind.com/Weblog/posts/509108.aspx

+0

Keşke cevabınızı iki kez artırabilirim :) Teşekkürler, Aaron – ep3static

+0

Size yardımcı olmaktan mutluluk duyuyorum :) Teşekkürler ... – Tarik

+1

"İstemci tarafı HTML oluşturmayı gerektiren her şey". Tüm HTML’ler (sanal olarak) oluşturma gerektirmiyor mu? Ya da javascript'in dinamik bir şekilde işlenmesi için kullanıldığı zaman mı demek istiyorsunuz? – BVernon

İlgili konular