Underscore.js 的模板功能介绍与应用

Posted susanws

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Underscore.js 的模板功能介绍与应用相关的知识,希望对你有一定的参考价值。

Underscore是一个非常实用的javascript库,提供许多编程时需要的功能的支持,他在不扩展任何JavaScript的原生对象的情况下提供很多实用的功能,需要了解的朋友可以详细参考下
 
Underscore是一个非常实用的JavaScript库,提供许多编程时需要的功能的支持,他在不扩展任何JavaScript的原生对象的情况下提供很多实用的功能。 
无论你写一段小的js代码,还是写一个大型的html5应用,underscore都能帮上忙。目前,underscore已经被广泛使用,例如,backbone.js唯一强依赖的库就是underscore.js。 
今天主要讨论Underscore 的前端模板功能。它的模板功能和前一篇介绍的javascript前端模板是一样的。对数据的处理更加方便。写了个小例,供大家参考学习。 

完整实例下载 
复制代码代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>Underscore</title> 
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/> 
<meta name="apple-mobile-web-app-capable" content="yes" /> 
<meta name="format-detection" content="telephone=no"/> 
<link href="index.css" rel="stylesheet" type="text/css" /> 
<script src="jquery.js"></script> 
<script src="underscore.js"></script> 
</head> 
<body> 
</body> 
</html> 
<!--ace-template demo--> 
<script id="t2" type="text/template"> 
<%_.each(datas, function(item) {%> 
<div class="outer"> 
<div class="title"> 
<span ><%=item.film%></span> 
</div> 
<ul class="ul"> 
<%_.each(datas, function(item) {%> 
<li> 
<a href="<%=item.url%>">【<%=item.title%>】</a> 
</li> 
<%});%> 
</ul> 
</div> 
<%});%> 
</script> 
<!--数据 --> 
<script> 
var datas = [ 

title: "一九四二", 
url: "http://www.jb51.net", 
film:"电影1" 
}, 

title: "少年派的漂流", 
url: "http://www.jb51.net", 
film:"电影2" 
}, 

title: "教父", 
url: "http://www.jb51.net", 
film:"电影3" 
}, 

title: "肖申克的救赎", 
url: "http://www.jb51.net", 
film:"电影4" 
}, 

title: "3d2012", 
url: "http://www.jb51.net", 
film:"电影5" 

]; 
$("body").html( _.template($("#t2").html(), datas)); 
</script> 
<!--点击下拉事件--> 
<script type="text/javascript"> 
$(‘.ul‘).hide(); 
$(‘.ul>li:last-child‘).addClass(‘last-li‘); 
$(‘body>div:first-child>ul‘).show(); 
$(‘.title‘).click(function(){ 
$(this).siblings().toggle(); 
$(this).parent().siblings().children(‘.bbs-nav-ul‘).hide(); 
}) $(‘.title‘).hover(function(){ 
$(this).toggleClass(‘hover‘); 
}) 
$(‘.ul>li‘).hover(function(){ 
$(this).toggleClass(‘hover‘); 
}) 
</script 

以上是关于Underscore.js 的模板功能介绍与应用的主要内容,如果未能解决你的问题,请参考以下文章

如何在underscore.js模板中使用if语句?

underscore.js 预编译模板使用

underscore js:更智能的列表渲染与每个或替代

模板引擎原理及underscore.js使用

backbone 唯一依赖库Underscore.js

HiShop2.x版本中的上传插件分析,得出所用的模板语言为Underscore.js 1.6.0且自己已修改