使用underscore的template自定义模板

白昼怎懂夜的黑 提交于 2019-12-14 18:51:49

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

underscore的template()是一个十分重要的函数,该函数可以解析3种模板标签,分别如下:

template() 函数模板标签

模板标签 功能
<% %> 标签中包含的通常是Javascript代码,在页面渲染数据时执行
<%=  %> 标签中包含的通常是变量名、函数名、对象属性、执行时直接展现调用后的数据
<%-  %> 标签在输出数据时,能将HTML标记转成常用字符串形式,以避免代码的攻击


调用格式 : _.template(templateString,[data],[settings])

其中,参数templateString就是模板标签,可选参数data为渲染的数据,可选参数settings为自定义模板标签的字符格式,比如可以将<% %> 修改为 {% %} 格式

 

简单示例如下:

    <div id="test"></div>
	<script type="text/template" id="testTpl">
		<% _.each(categorys, function (item) { %>
		  	<div>
		   	 	<%= item.categoryName %>
		  	</div>
		<% }); %>
	</script>
	<script type="text/javascript"> 
		var categorys;
		$.ajax({
			url : "http://ndapi.bestinfoods.com/item/get/topsimplecategorys",
			type : "GET",
			dataType : "JSON",
			success : function(data){
				categorys = data.data.categorys;
				var testData = _.template($("#testTpl").html(),categorys);
				$("#test").html(testData);
			}
		})
	</script>

结果显示如下:

 

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