模板引擎有好多种可在github的官网上查找
此处的arttemplate 是js模板引擎的一种,js库的不同,有的里面没helper,有的有,
在用谷歌浏览器f12定位调试时,global里可以去找有没有,没有就得换js库
https:https://aui.github.io/art-template/zh-cn/docs/ 文档地址 或 http://www.sjmoban.com/index.php/doc/index/4(此出比较简单全是案例)
art-template 是一个简约、超快的模板引擎。它采用作用域预声明的技术来优化模板渲染
(加工成最后效果的)速度,从而获得接近 JavaScript 极限的运行性能,并且同时支持 NodeJS 和大多浏览器
特性
- 拥有接近 JavaScript 渲染极限的的性能
- 调试友好:语法、运行时错误日志精确到模板所在行;支持在模板文件上打断点(Webpack Loader)
- 支持 Express、Koa、Webpack
- 支持模板继承与子模板
- 浏览器版本仅 6KB 大小
art-template 同时支持两种模板语法。标准语法可以让模板更容易读写;原始语法具有强大的逻辑处理能力。
简单案例 1:渲染变量简单案例 2:渲染列表<!doctype html> <html> <head> <meta charset="utf-8"> <title>lianxi1</title> </head> <!--arttemplate的主文件 --> <script type="text/javascript" src="js/template-web.js"></script> <script type="text/javascript" src="../../../_js2/jquery.min.js"></script> <body> <!--1:给一个存方渲染后(存放解析后的html代码)html的一个盒子 --> <div id="content"></div> <!--2:建立一个模板 --> <script type="text/html" id="template"> <%=msg%> </script> <!--3给到模板数据 声明一个json数据--> <script> var data = { msg : "Hello World" }; /* 此函数是一个桥梁用来把模板和数据进行一个渲染返回一个字符串 / var html = template("template", data); /* document.getElementById("content").innerHTML=html;//放到存放字符串的容器中 */ /*或者而此代码是jquery写法,必须引入jquery.js*/ $("#content").html(html); </script> </body> </html>
简单案例 3:辅助函数<对数据做一些操作><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>lianxi2</title> </head> <body> <script type="text/javascript" src="js/template-web.js"></script> <script type="text/javascript" src="../../../_js2/jquery.min.js"></script> <!-- 存放解析渲染模板后的盒子 --> <div id="content"></div> <!-- 模板 --> <script type="text/html" id="template"> //原始语法foreach <%for(i in list){%> 标题是: <%=list[i].title%><br/> <%}%> //标准语法 {{each list as value i}} 标题是: {{i + 1}} : {{value}}<br/> {{/each}} //原始语法for循环 <% for(var i = 0; i < list.length; i++){ %> <%= list[i].title %> <% } %> </script> <!-- json数据 --> <script type="text/javascript"> var data={ list:[ {title:"aa"}, {title:"bb"}, {title:"cc"}, {title:"dd"}, {title:"ee"}, {title:"ff"}, {title:"gg"}, ] } /* 函数 渲染template 是id*/ var html = template("template", data); $("#content").html(html); </script> </body> </html>
简单案例 4:<对数据做一些操作><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>lianxi3b</title> <script type="text/javascript" src="js/artTemplate.js"></script> <script type="text/javascript" src="../../../_js2/jquery.min.js"></script> </head> <body> <!--,之前一直输出变量,有时候,我们需要根据变量值,输出特定的字符串内容,这时候,辅助函数的作用就出来了。 --> <!-- 存放解析后模板的地方 --> <div id="content"></div> <!--建立模板 --> <!-- <%=函数名(参数列表)%>//这样调用即可--> <script type="text/html" id="template"> <%=aa (msg) %> </script> <!--数据 --> <script type="text/javascript"> var data = { "msg" : "abcdefghijk" }; /*template.helper("函数名",function(参数列表){});//定义一个辅助函数 */ template.helper("aa", function(uu) { //用空格截取每个字符,在反转后用空格连一起 return uu.split('').reverse().join(''); }); var html = template("template", data); document.getElementById("content").innerHTML = html; </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>lianxi4</title> <script type="text/javascript" src="js/artTemplate.js"></script> <script type="text/javascript" src="../../../_js2/jquery.min.js"></script> </head> <body> <div id="content"></div> <script type="text/javascript"> var str='<%= msg%>'; var data={ "msg":"abcdefghijk" } <!-- 使用template.compile(模板代码);//将模板代码编译成渲染函数--> <!-- 第二步,使用上述返回的渲染函数,例如为 render,再调用 render(数据);进行渲染,返回需要的html字符串。--> var render=template.compile(str) var html=render(data); document.getElementById("content").innerHTML = html; </script> </body> </html>
arttemplate.js
最新推荐文章于 2025-05-05 10:43:10 发布