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

时间: 2024-10-11 19:17:49

Underscore.js 的模板功能介绍与应用的相关文章

underscore.js定义模板遇到问题:Uncaught TypeError: Cannot read property &#39;replace&#39; of undefined

代码正确缩进位置如下, extend "layout" block 'content',-> div ->'nihao' script id:"InvoiceItem",type:"text/template",style:"display: none",-> div ->"{{price}}" div ->"{{quantity}}" div ->&

underscore.js中模板函数应用

一.使用技术要点 (1)使用zepto.js的ajax请求; (2)使用underscore.js的_.template设定模板,模板一般以<script type="text/template"></script>,不是<template></template> (3)参数是以{data:listObj},而不是listObj (4)注意each里面data与item的对映 <!DOCTYPE html> <html&

js模板引擎介绍搜集

js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTemplate等),如何从这么多纷繁的模板引擎中选择一款适合自己的呢,笔者最近对主流的js模板引擎(mustache,doT,juicer,artTemplate,baiduTemplate,Handlebars,Underscore)做了一番调研,分享出来希望对大家有用. 从这几个指标来比较js模板

(二)underscore.js框架Utility类API学习以及模型template的详细介绍

本文介绍的是underscore.js提供的Utility Functions. noConflict_.noConflict() Give control of the "_" variable back to its previous owner. Returns a reference to theUnderscore object. 这个函数主要是为了解决underscore.js与其他框架或js名字冲突的问题.我们知道:underscore.js使用全局对象_,如果在unde

Javascript模块化编程(三)require.js的用法及功能介绍

这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战.我采用的是一个非常流行的库require.js感兴趣的朋友可以了解下啊 我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代码,相信很多人都见过. <script src="1.js"

underscore模板功能的使用和学习

最近好忙啊,各种项目急着上线.css调的头晕脑胀,再也没时间琢磨我那可爱的js小妖精了. 不过在百忙中还是要表达一下对underscore.js的感谢,小巧轻便的实现了我的需求.具体说一下情况,开会的时候约定接口, 我当时夸下海口跟后台大哥拍着胸脯说,你给我一段json,我还你一个前端(肠子已经悔青) 于是后台那位耿直的兄弟真的就去这么做了,把所有的接口都是封装成json格式的数据给到我. 开始干活了,一开始我的处理方法是用ajax请求到数据后,拿出来放到自己的函数中使用js操作dom完成各种需

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

效果: 上传组件非常的酷,但是分析其使用JS写法使用了模板语言的,代码如下: <script type="text/j-template" id="tpl_popbox_ImgPicker_listItem"> <# _.each(dataset,function(url){ #> <li> <span class="img-list-overlay"><i class="img-l

[转]Underscore.js 入门-常用方法介绍

Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了 JavaScript的编程.MVC框架Backbone.js就将这个库作为自己的工具库.除了可以在浏览器环境使用,Underscore.js还可 以用于Node.js. Underscor.js定义了一个下划线(_)对象,函数库的所有方法都属于这个对象.这些方法大致上可以分成:集合(collection).数组(array).函数(function).对象(object)

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

为什么要使用模板引擎 DOM结构简单,完全可以使用DOM方法创建DOM树.$("<td></td").appendTo(); 当页面比较复杂的时候,下面的程序中红色部分来自JSON中的数据: <div class="feeds-item hasImg" id="item-702635"> <p class="feeds-item-pic"> <a href="http: