这是OurJS.cn发布的新项目: Tempo.js
1. Tempo.js 是一个轻量的js模板工具类;
2. 目的是实现HTML代码与JS代码的分离,使得在用JS输出HTML时更方便,代码更清晰;
3. Tempo.js的原则是轻量(体积小,下载快,执行快),在不进行压缩的情况下也只有1k大小;
4. Tempo.js履行MIT许可证,允许随意集成到你的JS库中;
5. 目前Tempo.js的功能简单,但本着轻量和只解决特定问题的原则下,在以后的版本中,Tempo.js在功能上不会有太多的改动;
6. Tempo.js在代码上也没有严格的过滤和错误处理,用意是用最简单的算法维持其轻量,只确保在最简单原始的使用下不出错;
链接: 下载Tempo.js
DEMO
查看Tempo.js源码
使用方法:
1.首先, 引入tempo.css文件:
<link href="tempo.css" rel="stylesheet" type="text/css" media="all" />
目前tempo.css内只有一行: .tempo {display:none;} 目的是让模板隐藏。你可以根据需要把这一行写入到你的CSS文件中。
2.引入tempo.js文件:
<script type="text/javascript" src="tempo.js"></script>
3.建立模板和存放生成的HTML的容器:
<div class="tempo" id="tempo_a">
<div class="{class}">{title}</div>
</div>
<div id="container">
</div>
4.编码js,调用Tempo
JavaScript:
var arr = [
{title:'this is title!','class':'cls'},
{title:'this is another title!','class':'cls'},
{title:'this is another title too!','class':'cls'}
];
var tempo = new Tempo('tempo_a');
document.getElementById('container').innerHTML = tempo.setArray(arr).join('');
Tempo类提供了3个方法:
1. new Tempo('id').set(object)
: 接受一个对象,返回一个由这个对象(数据)+模板生成的HTML字符串。
数据:{'title':'xxxxxx'} + 模板:<div>{title}</div>
==>>
'<div>xxxxx</div>'
2. new Tempo('id').setArray(array)
: 接受一个对象数组,返回一个由这个数组内多个对象(多个数据)+模板生成的HTML字符串数组。
数据:[{'title':'xxxxxx'},{'title':'yyyyy'}] + 模板:<div>{title}</div>
==>>
['<div>xxxxx</div>','<div>yyyyy</div>']
2. new Tempo('id').setMap(array)
: 接受一个包含多个对象的对象(想象为Map对象),返回由这个对象内多个对象(多个数据)+模板生成的对象。
数据:{'aaa':{'title':'xxxxxx'},'bbb':{'title':'yyyyy'}} + 模板:<div>{title}</div>
==>>
{'aaa':'<div>xxxxx</div>','bbb':'<div>yyyyy</div>'}
5.生成的HTML代码:
<div id="container">
<div class="cls">this is title!</div>
<div class="cls">this is another title!</div>
<div class="cls">this is another title too!</div>
</div>
原文: http://ourjs.cn/show.php?id=794
来源: OurJS.cn
分享到:
相关推荐
Jira时间跟踪插件tempo.tgz,时间分配,时间跟踪
Tempo 是个轻量级的JSON渲染引擎(只有4kb),使用它可以以纯HTML的方式来构建数据呈现。 使用JSON作为数据源时经常是会在JS中解析JSON,然后拼成HTML呈现数据。而 Tempo 可以实现 HTML 与 JavaScript 的完全分离,...
stableBeat.js 使用浏览器时钟的Javascript节拍器Thijs(@recyclerobot)撰写在工作中我们玩 用法 [removed][removed] [removed] // EXAMPLE USAGE // 1. set return function to be called every time ...
Node.js(版本12或更高版本) NPM 然后,您需要安装Expo Client npm install -g expo-cli 克隆存储库 git clone https://github.com/abulnes16/tempo.git 安装依赖项 npm install 并运行您的项目 npm start ...
甜菜 Web音频API的多节奏音序器库。 定序器可以具有多个层,其中每个层具有不同的步数。... tempo : 100 } ) ; // create a euclidean pattern - 5 pulses distrubted in 7 steps var pattern = beet . pattern ( 5
sample changing for sound pitch and tempo.
portnoy.js 看中您的17/16 sizzlin节奏,打动您的朋友。 这只是zya的功能的无耻剥夺,只是想从头开始编写一个版本,以求有趣和简洁。 用法 var ctx = new AudioContext ( ) ; var portnoy = new Portnoy ( { ...
详细讲述了boost::thread的用法
JIRE插件用于企业管理项目的插件,tempo-timesheet,展示时间分配任务
mayukhsen13.github.io KGEC E-Cell项目前端
mv node-v16.20.2-linux-x64 node sudo -s cp -a /data1/tempobi/tempo/mids/node/bin/node /usr/local/bin/node cp -a /data1/tempobi/tempo/mids/node/bin/npm /usr/local/bin/npm
这是一首示例歌曲: Song: Tempo: 105 Flow: - Verse: x4 - Chorus: x4 Kit: - bass: house_2_1.wav - snare: roland_tr_909_2.wav - hihat: house_2_5.wav - cowbell: big_beat_5.wav - deep: house_2_2.wavVerse:...
JavaScript HTML5 CSS3 SQL 实施技术 Bcryptjs PostgreSQL 亚马逊网络服务S3 字体真棒 尾风CSS 赫鲁库 发展 以下是在本地开发环境上运行应用程序的说明。 预装要求: Node.js PostgreSQL 指示: 克隆此...
......:::::: Product Specifications ::::::...... • Format: WAVs/MIDIs/Synthesizer VSTi Presets • 005 x Construction Kits - (Including: Stems/Loops, VSTi Presets, MIDIs Files) • 005 x Mixed & ...
#####Repositóriooficial do site,在线广播,连续um bom tempo ##### gh-pages <3 #Markdown提示 最大标题( 标签) 第二大标题( 标签) … 第六大标题( 标签) 用亚伯拉罕·林肯的话来说: 抱歉我法语...
Academic Kickstart提供了一个最小模板来启动您的新网站。更新? 查看和支持学术发展: 捐赠一杯咖啡成为 Patreon 的支持者用学术贴纸装饰您的笔记本电脑或日记本穿上 T 恤 安装您可以选择以下四种安装方法之一:
在寻找最佳的系统配置和性能时,它是一个基本工具。 此外,Cycle-Tempo还包括一个优化器,可以找到一个优点参数的最大值(例如,热力学效率或功率输出)。 Cycle-Tempo还允许与现有的全工厂数据监控系统进行实时集成,...
:rocket: 伊尼西亚多储存库乌桑多·吉特 git clone https://github.com/mahtf/previsao-tempo.git Usando Github CLI gh repo clone mahtf/previsao-tempo :light_bulb: ou como preferredir 安装Utilizando纱yarn...
Tempo, G. Caliafore, F. Dabbene,用于分析和控制的随机算法不确定系统的控制:随应用,第二版,Springer-Verlag,伦敦,2013 年。 [3] Pham Luu Trung Duong、Moonyong Lee,“非超立方域上具有不确定参数的系统...
composer require spacetab-io/jira-tempo-sdk 使用范例 返回承诺的简单方法 use Amp \ Loop ; use Spacetab \ TempoSDK \ Exception \ SdkErrorException ; use Spacetab \ TempoSDK \ TempoSDK ; Loop :: run ( ...