arttemplate.js

╄→尐↘猪︶ㄣ 提交于 2019-12-03 05:24:27

模板引擎有好多种可在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 和大多浏览器

特性

  1. 拥有接近 JavaScript 渲染极限的的性能
  2. 调试友好:语法、运行时错误日志精确到模板所在行;支持在模板文件上打断点(Webpack Loader)
  3. 支持 Express、Koa、Webpack
  4. 支持模板继承与子模板
  5. 浏览器版本仅 6KB 大小
  6. art-template 同时支持两种模板语法。标准语法可以让模板更容易读写;原始语法具有强大的逻辑处理能力。



简单案例 1:渲染变量
<!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>
简单案例 2:渲染列表
<!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>
简单案例 3:辅助函数<对数据做一些操作>
<!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>
简单案例 4:<对数据做一些操作>
<!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>






易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!