jquery.tmpl.js 模板引擎用法

1.0 引入:

<script src="/js/jquery.tmpl.min.js"></script>

2.0 模板:

<script type="text/x-jquery-tmpl" id="tmpl">
<li>
<h5><a href="/news/Detail/${NewsId}">${Title}</a></h5>
<p><a href="/news/Detail/${NewsId}">${Introduce}</a></p>
<em>${PTime}</em><span>${ReadTimes}</span>
</li>
</script>

3.0 HTML

<ul class="news_ul" id="NewContent"></ul>

//使用模板render html,生成标签

var divImgs = $("#tmpl").tmpl(jsonObj);//ps: jsonObj为ajax异步返回的对象字符串,如asp.net mvc里 Json(List<> ...);

//把标签加入父元素
$("#NewContent").append(divImgs);

一个简单的例子就完成了.

这个是早就知道的.今天写这个是因为一个不常用的方法:

如果json结果里有新闻细节:类似  <p><h3>我是新闻细节</h3></p>.

模板里用 ${...}的语法是渲染出来的是字符串,'<p><h3>我是新闻细节</h3></p>',而不是 为h3的标题.

那么,就要使用第二种语法:

<script type="text/x-jquery-tmpl" id="tmpl">
<li>
<h5>${Title}</h5>
{{html Details}}
</li>
</script>

这么写,得到的结果才是 为h3的 '我是新闻细节'.类似 asp.net mvc中的 @Html.Raw(str);

完毕.

上一篇:使用jQuery的分页插件jquery.pagination.js进行分页


下一篇:让jquery.tmpl.js支持index序号