您的位置:首页 > Web前端 > HTML

Underscore解析html模板

2014-11-20 21:59 169 查看
Underscore 的_.template模板函数只能解析3种模板标签

<% %>:用于包含Js代码,这些代码将在渲染数据时被执行。

<%= %>:用于输出数据,可以是一个变量、对象的属性、或函数(输出函数的返回值)。

<%- %>:用于输出数据,同时会将数据中包含的HTML字符转换为实体形式(例如它会将双引号转换为"形式),用于避免XSS攻击。

当我们希望将数据中的HTML作为文本显示出来时,可以使用<%- %>标签。

Underscore还允许你修改这3种标签的形式,如果我们想使用{% %}、{%= %}、{%- %}作为标签,可以通过修改templateSettings来实现

_.templateSettings = {
evaluate : /\{%([\s\S]+?)\%\}/g,
interpolate : /\{%=([\s\S]+?)\%\}/g,
escape : /\{%-([\s\S]+?)%\}/g
}


此方法还可以用于解决和其它模板语言的标签冲突

示例:

模板:

<script type="text/template" id="tpl">
<div>{%=say%}</div>
</script>


调用代码

var data = {};
data.say = "Hello World!";
$("body").html(_.template($("#tpl").html(),data));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: