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


Posted in Javascript onDecember 24, 2012

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: "https://3water.com", 
film:"电影1" 
}, 
{ 
title: "少年派的漂流", 
url: "https://3water.com", 
film:"电影2" 
}, 
{ 
title: "教父", 
url: "https://3water.com", 
film:"电影3" 
}, 
{ 
title: "肖申克的救赎", 
url: "https://3water.com", 
film:"电影4" 
}, 
{ 
title: "3d2012", 
url: "https://3water.com", 
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
Javascript 相关文章推荐
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
Jun 02 Javascript
ImageFlow可鼠标控制图片滚动
Jan 30 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 Javascript
jQuery焦点图切换简易插件制作过程全纪录
Aug 27 Javascript
JavaScript设计模式之单例模式实例
Sep 24 Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
AngularJS 限定$scope的范围实例详解
Jun 23 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
微信小程序实现工作时间段选择
Feb 15 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 Javascript
javascript 星级评分效果(手写)
Dec 24 #Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 #Javascript
jquery限制输入字数,并提示剩余字数实现代码
Dec 24 #Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
Dec 23 #Javascript
ajax中get和post的说明及使用与区别
Dec 23 #Javascript
javascript 全选与全取消功能的实现代码
Dec 23 #Javascript
javascript利用控件对windows的操作实现原理与应用
Dec 23 #Javascript
You might like
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
jquery isType() 类型判断代码
2011/02/14 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
vue中如何使用ztree
2018/02/06 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
python matplotlib库的基本使用
2020/09/23 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
校长先进事迹材料
2014/02/01 职场文书
小学综治宣传月活动总结
2014/07/02 职场文书
教师求职简历自我评价
2015/03/10 职场文书
工程进度款催款函
2015/06/24 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
Python实现byte转integer
2021/06/03 Python
Python基本数据类型之字符串str
2021/07/21 Python