trimpath javascript的學習

TrimPath是javascript模板引擎。

這幾天有一個項目涉及到trimpath這個框架,因此就花了一點時間研究了一下,這個框架和別的javascript框架不太同樣的地方就是模 板的概念,就是頁面中若是引入這個框架的話,就能夠像jsp或着Asp那樣直接在頁面中混合寫javascript和的代碼,不用其它框架同樣在 javascript裏首先取得頁面控件的值,而後修改,而後再在javascript代碼裏賦值,這些是個人主要印像。

下面先貼出來一個demo,從這個看容易入手,用這個demo前固然先要先加入像用其它框架同樣加入這個框架的代碼
框架的官網主頁:
http://code.google.com/p/trimpath/wiki/JavaScriptTemplates
從上面下一個名字叫template.js的框架文件,這個文件能夠從官網上釋放的最新的包中找到。例如根據我如今下的版本能夠在這裏找到
Java代碼   收藏代碼
  1. trimpath-junction-1.1.22/junction_release/public/javascripts/trimpath  


下面貼出demo的源碼
Java代碼   收藏代碼
  1. <html>  
  2.     <head>  
  3.       <script language="javascript" src="template.js"></script>  
  4.     </head>  
  5. <body>  
  6.   <div id="outputDiv">  
  7.   </div>  
  8.   <script language="javascript">  
  9.     var data = {  
  10.         products : [ { name: "mac", desc: "computer",       
  11.                        price: 1000, quantity: 100, alert:null },  
  12.                      { name: "ipod", desc: "music player",  
  13.                        price:  200, quantity: 200, alert:"on sale now!" },  
  14.                      { name: "cinema display", desc: "screen",        
  15.                        price:  800, quantity: 300, alert:"best deal!" } ],  
  16.         customer : { first: "John", last: "Public", level: "gold" }  
  17.     };  
  18.   </script>  
  19. <textarea id="cart_jst" style="display:none;">  
  20.     Hello ${customer.first} ${customer.last}.<br/>  
  21.     Your shopping cart has ${products.length} item(s):  
  22.     <table>  
  23.      <tr><td>Name</td><td>Description</td>  
  24.          <td>Price</td><td>Quantity & Alert</td></tr>  
  25.      {for p in products}  
  26.          <tr><td>${p.name|capitalize}</td><td>${p.desc}</td>  
  27.              <td>$${p.price}</td><td>${p.quantity} : ${p.alert|default:""|capitalize}</td>  
  28.              </tr>  
  29.      {forelse}  
  30.          <tr><td colspan="4">No products in your cart.</tr>  
  31.      {/for}  
  32.     </table>  
  33.     {if customer.level == "gold"}  
  34.       We love you!  Please check out our Gold Customer specials!  
  35.     {else}  
  36.       Become a Gold Customer by buying more stuff here.  
  37.     {/if}  
  38.   </textarea>  
  39.   <script language="javascript">  
  40.     // The one line processing call...  
  41.     var result = TrimPath.processDOMTemplate("cart_jst", data);  
  42.     // Voila!  That's it -- the result variable now holds  
  43.     // the output of our first rendered JST.  
  44.   
  45.     // Alternatively, you may also explicitly parse the template...  
  46.     var myTemplateObj = TrimPath.parseDOMTemplate("cart_jst");  
  47.   
  48.     // Now, calls to myTemplateObj.process() won't have parsing costs...  
  49.     var result  = myTemplateObj.process(data);  
  50.   
  51.     // Setting an innerHTML with the result is a common last step...  
  52.     document.getElementById("outputDiv").innerHTML = result;  
  53.     // You might also do a document.write() or something similar...  
  54.   </script>  
  55. </body>  
  56. </html>  
研究上面的demo就基本能夠掌握這個框架的要點 下面的路徑是在網上搜索到的一個教程,說的挺詳細的,這個教程也是從這個demo開始的,也有對個demo的詳細分析,建議看看這個教程
相關文章
相關標籤/搜索