JavaScript模板引擎用法執行個體,javascript模板執行個體

來源:互聯網
上載者:User

JavaScript模板引擎用法執行個體,javascript模板執行個體

本文執行個體講述了JavaScript模板引擎用法。分享給大家供大家參考。具體如下:

這裡介紹的這個模板引擎寫得短小精悍,非常值得一看

tmpl.js檔案如下:

// Simple JavaScript Templating// John Resig - http://ejohn.org/ - MIT Licensed(function() { var cache = {}; this.tmpl = function tmpl(str, data) {  // Figure out if we're getting a template, or if we need to  // load the template - and be sure to cache the result.  var fn =    !/\W/.test(str)    ?    cache[str] = cache[str] || tmpl(document.getElementById(str).innerHTML)    :   // Generate a reusable function that will serve as a template   // generator (and which will be cached).   new Function(    "obj", "var p=[],print=function(){p.push.apply(p,arguments);};" +    // Introduce the data as local variables using with(){}    "with(obj){p.push('" +    // Convert the template into pure JavaScript    str     .replace(/[\r\t\n]/g, " ")     .split("<%").join("\t")     .replace(/((^|%>)[^\t]*)'/g, "$1\r")     .replace(/\t=(.*?)%>/g, "',$1,'")     .split("\t")     .join("');")     .split("%>")     .join("p.push('")     .split("\r")     .join("\\'") +     "');}return p.join('');"   ); // Function ends  // Provide some basic currying to the user  return data ? fn(data) : fn; };})();

index.html檔案如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>JavaScript tmpl Use Demo</title>  <script type="text/javascript" src="js/jquery.min.js"></script>  <script src="./tmpl.js" type="text/javascript"></script>   <!-- 下面是模板user_tmpl -->  <script type="text/html" id="user_tmpl">   <% for ( var i = 0; i < users.length; i++ ) { %>   <li><a href="<%=users[i].url%>"><%=users[i].name%></a></li>   <% } %>  </script>  <script type="text/javascript">  // 用來填充模板的資料   var users = [    { url: "http://baidu.com", name: "jxq"},    { url: "http://google.com", name: "william"}   ];   $(function() {   // 調用模板引擎函數將資料填充到模板獲得最終內容    $("#myUl").html(tmpl("user_tmpl", users));   });  </script> </head> <body>  <div>   <ul id="myUl">   </ul>  </div> </body></html>

希望本文所述對大家的javascript程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.