19

下面是本納德爾的演示單頁長壽命的AJAX應用取自JavaScript的模板的一個例子:[source]何時使用JavaScript模板引擎?

<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模板引擎等的目的那? 是否用於節省帶寬?這只是Separation of concerns的問題嗎?它有助於對抗瀏覽器內存泄漏問題嗎?

什麼時候應該使用模板引擎,何時使用原始HTML AJAX響應更容易?

相關討論:

JQuery templating engines

+2

我想知道這個太:我們什麼時候使用客戶端模板? – jrharshath 2010-01-16 10:52:40

+0

@Jr:請參考我的回答。 – Tarik 2010-01-16 20:34:58

回答

39

模板是在幾個方案很好的解決方案:

  • 加載服務器上的所有數據特別是在富豪榜顯示
  • 添加或更新列表中的新項目
  • 您需要的任何地方t o增加新的複雜的內容頁面
  • 凡是需要客戶端的HTML渲染

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

+0

我希望我可以upvote你的答案兩次:)謝謝,亞倫 – ep3static 2010-01-17 07:09:46

+0

我很高興幫助你:)謝謝... – Tarik 2010-01-17 18:50:15

+1

「任何需要客戶端HTML渲染」。不(實際上)所有的HTML都需要渲染?或者你的意思是什麼時候用javascript來動態渲染東西? – BVernon 2017-12-14 08:11:27