`
imhades
  • 浏览: 23851 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Tempo.js : 轻量的JS模板工具类

阅读更多

这是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

    Jira是一款广受欢迎的项目管理和问题追踪工具,尤其在IT行业中被广泛应用。Tempo是Jira的一款强大插件,专门用于时间跟踪和管理。这款插件增强了Jira的基础功能,帮助团队更有效地追踪工作时间,优化资源分配,提高...

    钢琴入门:钢琴谱术语大全.doc

    钢琴谱是钢琴学习者必不可少的工具,它包含了乐曲的所有信息,包括音高、节奏、动态和情感表达等。在钢琴入门阶段,掌握钢琴谱术语是至关重要的,因为这些术语能够帮助演奏者准确理解作曲家的意图,从而更好地演绎...

    意大利语音乐术语.doc

    1. A tempo:回到原始速度,意味着在一段速度变化后恢复到先前设定的速度。 2. Abbandono:表示演奏时的自由度和无拘无束,允许演奏者根据个人情感发挥。 3. Acoustic:与声音学相关的,通常指的是自然产生的声音...

    钢琴演奏表情术语一览表.doc

    钢琴演奏中的表情术语是指导演奏者如何诠释音乐情感的重要元素,它们...这些表情术语是钢琴演奏者理解和表达音乐情感的关键工具,通过它们,演奏者可以更准确地传达作曲家的意图,将乐谱上的音符转化为充满情感的音乐。

    JSON渲染引擎Tempo.zip

    Tempo 是个轻量级的JSON渲染引擎(只有4kb),使用它可以以纯HTML的方式来构建数据呈现。 使用JSON作为数据源时经常是会在JS中解析JSON,然后拼成HTML呈现数据。而 Tempo 可以实现 HTML 与 JavaScript 的完全分离,...

    maven资源路径设置方法,以及配置阿里云资源

    Maven是一个项目管理和构建工具,主要用于Java项目的构建和依赖管理。它通过一系列生命周期(lifecycle)、目标(goal)和插件来帮助开发者自动完成项目的构建过程。在Maven中,依赖管理是一个重要的功能,它能够...

    steadyBeat.js:使用浏览器时钟的Javascript Metronom

    stableBeat.js 使用浏览器时钟的Javascript节拍器Thijs(@recyclerobot)撰写在工作中我们玩 用法 [removed][removed] [removed] // EXAMPLE USAGE // 1. set return function to be called every time ...

    【Spark】六、org.apache.hadoop.security.AccessControlException

    Exception in thread main org.apache.hadoop.security.AccessControlException: Permission denied: user=L.MOON, access=WRITE, inode=/user/lsy/result1/_temporary/0:lsy:supergroup:drwxr-xr-x ...

    tempo:Tempo是使用React Native创建的天气应用

    Node.js(版本12或更高版本) NPM 然后,您需要安装Expo Client npm install -g expo-cli 克隆存储库 git clone https://github.com/abulnes16/tempo.git 安装依赖项 npm install 并运行您的项目 npm start ...

    mayukhsen13.github.tempo:KGEC E-Cell项目前端

    【标题】"mayukhsen13.github.tempo:KGEC E-Cell项目前端"指的是一个GitHub仓库,其中包含了KGEC(可能是Kanpur Gandhi Engineering College)E-Cell(企业细胞,通常是一个大学内的学生组织,旨在促进创业精神)...

    beet.js:Web音频API的多节奏音序器库

    甜菜 Web音频API的多节奏音序器库。 定序器可以具有多个层,其中每个层具有不同的步数。... tempo : 100 } ) ; // create a euclidean pattern - 5 pulses distrubted in 7 steps var pattern = beet . pattern ( 5

    portnoy.js:一个用于对多节奏进行测序的小程序库

    portnoy.js 看中您的17/16 sizzlin节奏,打动您的朋友。 这只是zya的功能的无耻剥夺,只是想从头开始编写一个版本,以求有趣和简洁。 用法 var ctx = new AudioContext ( ) ; var portnoy = new Portnoy ( { ...

    change_pitch_tempo.zip_Change_change pitch_pitch_pitch change_so

    在音频处理领域,改变音高(Pitch)和速度(Tempo)是常见的需求,这主要应用于音乐制作、声音效果编辑以及语音合成等多个场景。本文将深入探讨如何改变音频的音高和速度,并结合"change_pitch_tempo.zip"压缩包中的...

    jira插件tempo Timesheets 7.9.1

    总结来说,Tempo Timesheets 7.9.1是Jira平台上的一个重要工具,它通过强大的时间管理和报告功能,提升了项目管理的透明度和效率。通过对提供的文件进行安装和配置,用户可以充分利用这些功能,实现更高效的工作流程...

    tempo-planner

    JIRE插件用于企业管理项目的插件,tempo-timesheet,展示时间分配任务

    node.js -v16.20.2

     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

    beats:命令行鼓机。 将YAML中标记的节拍转换为* .wav文件

    这是一首示例歌曲: 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:...

    Tempo:Tempo是一个完整的Web应用程序,并且是一个音乐共享平台,专用于受SoundCloud启发的电子音乐。 它基于前端的React和Redux以及Express.js后端,利用Sequelize ORM作为PostgreSQL数据库的接口

    JavaScript HTML5 CSS3 SQL 实施技术 Bcryptjs PostgreSQL 亚马逊网络服务S3 字体真棒 尾风CSS 赫鲁库 发展 以下是在本地开发环境上运行应用程序的说明。 预装要求: Node.js PostgreSQL 指示: 克隆此...

    Big EDM Progressive House Tools WAV MiDi REVEAL SOUND

    ......:::::: Product Specifications ::::::...... • Format: WAVs/MIDIs/Synthesizer VSTi Presets • 005 x Construction Kits - (Including: Stems/Loops, VSTi Presets, MIDIs Files) • 005 x Mixed & ...

Global site tag (gtag.js) - Google Analytics