2010-01-16 151 views
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