From:一条被猫抛弃的他乡流浪狗!

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);

 

完毕.

posted @ 2016-02-01 19:35  ICE_Inspire  阅读(1199)  评论(0编辑  收藏  举报