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 相关文章推荐
JQuery 学习笔记 选择器之四
Jul 23 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
Mar 16 Javascript
JavaScript实现动态创建CSS样式规则方案
Sep 06 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
Dec 10 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
Dec 02 Javascript
Vue.js一个文件对应一个组件实践
Oct 27 Javascript
使用cropper.js裁剪头像的实例代码
Sep 29 Javascript
通过fastclick源码分析彻底解决tap“点透”
Dec 24 Javascript
Vue进度条progressbar组件功能
Apr 17 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 Javascript
Vue实现简单的拖拽效果
Aug 25 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
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
一起来写段JS drag拖动代码
2010/12/09 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
2016/01/26 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
三个python爬虫项目实例代码
2019/12/28 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
2016三八妇女节校园广播稿
2015/12/17 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书