underscore的template()是一个十分重要的函数,该函数能够解析3种模板标签,分别以下:javascript
template() 函数模板标签html
模板标签 | 功能 |
<% %> | 标签中包含的一般是Javascript代码,在页面渲染数据时执行 |
<%= %> | 标签中包含的一般是变量名、函数名、对象属性、执行时直接展示调用后的数据 |
<%- %> | 标签在输出数据时,能将HTML标记转成经常使用字符串形式,以免代码的攻击 |
调用格式 : _.template(templateString,[data],[settings])java
其中,参数templateString就是模板标签,可选参数data为渲染的数据,可选参数settings为自定义模板标签的字符格式,好比能够将<% %> 修改成 {% %} 格式ajax
简单示例以下:api
<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>
结果显示以下:函数