本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/15688
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我