javascript模板插件amaze.js
摘要:
最近在开发项目时,异步接口需要前端渲染数据,js拼接太低级,必然要用模板插件。之前用过基于jQuery的和juicer等插件,考虑到以后公司项目上的统一,移动端和pc端上的统一,以及可维护性,所以就自己开发了一款模板插件amaze.js。
支持IE5+,chrome等流浏览器,支持for和if语法,以及表达式。
代码:https://github.com/baixuexiyang/amaze
例子:
<script src="../src/amaze.js"></script>
<div id="demo"></div>
<script id="test" type="text/amaze">
<div>负责人:{{ amaze.name }}</div>
<div>性别:{{ amaze.sex===1 ? '男': '女' }}</div>
<div>表达式:{{ 12/4 }}</div>
<ul>
{{@ for(var i = 0, _l = amaze.contact.length; i < _l; i++){ }}
{{@ if(amaze.contact[i].name === '张三') { }}
<li>
<span>姓名:{{ amaze.contact[i].name + '条件输出' }}</span>
<span>性别:{{ amaze.contact[i].sex===1 ? '男': '女' }}</span>
</li>
{{@ } else { }}
<li>
<span>姓名:{{ amaze.contact[i].name }}</span>
<span>城市:{{ amaze.contact[i].sex===1 ? '男': '女' }}</span>
</li>
{{@ } }}
{{@ } }}
</ul>
</script>
<script>
var data = {
name: '测试',
sex: 1,
contact: [{name: '张三', sex: 1},
{name: '李四', sex: 2}]
};
var temp = document.getElementById('test');
amaze.template(temp).render(data, function(html){
document.getElementById('demo').innerHTML = html;
});
</script>
注意:
1、模板的type必须是'text/amaze'
2、模板可以使用jQuery获取,比如:amaze.template($('#temp'))
javascript模板插件amaze.js的更多相关文章
- JavaScript模板引擎Template.js使用详解
这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 template.js 一款 JavaScript 模板引 ...
- 探究Javascript模板引擎mustache.js使用方法
这篇文章主要为大家介绍了Javascript模板引擎mustache.js使用方法,mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后 ...
- JavaScript模板引擎artTemplate.js——为什么使用模板引擎?
作为一个工作一年的菜鸟,在公司做了几个外包项目,也接触到了不同形式的web开发.其实也没多少,就是javaweb开发和HTML5移动开发,这两者在页面展示的时候的解决方案还是有所不同的. 1.vo+e ...
- Javascript模板引擎mustache.js详解
mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...
- 模板插件aTpl.js新增功能
摘要: aTpl.js是一款模板插件,该插件支持ie5+,chrome等浏览器以及移动端浏览器,支持for和if语法,以及表达式.最近对aTpl.js模板插件增加了新的功能,支持字符串模板,同时增加了 ...
- javascript模板引擎template.js使用
到GitHub上下载template.js库.引入到页面 以type="text/html" 这样指定javascript类型的是一种javascript模板渲染方法,在实际项目中 ...
- 省市县 三级 四级联动Javascript JQ 插件PCASClass.js
想要使用这款组件,需要页面引入 PCASClass.js 核心文件,该文件在您的HTML文档<head>标签之内. <script type="text/javascrip ...
- JavaScript模板引擎artTemplate.js——引入子模板
之前的例子都是单一结构的对象,如果遇到复杂对象结构,我们可以通过引入子模板来实现html的渲染. 依旧以之前的数据作为例子: <div id="content">< ...
- JavaScript模板引擎artTemplate.js——template.compile()方法
template.compile(source, options) source:必传,渲染模板的内容. options:可选,通常不传.(其实是我还没研究明白) return:一个渲染函数. 示例如 ...
随机推荐
- 1.1Linux 系统简介(学习过程)
=====课程笔记===== 一.Linux 为何物 Linux 是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS . Linux 也就是系统调用和内核两层,我们使 ...
- Scala学习笔记(六):Scala程序
想要编写能够独立运行的Scala程序,就必须创建有main方法(仅带一个参数Array[String],且结果类型为Unit)的单例对象. 任何拥有合适签名的main方法的单例对象都可以用来作为程序的 ...
- .net 开发人员如何自处
关于N家还是J家,谁家更阔绰有前途的问题,每年都要讨论一会,当然和各位兄弟在岗位上迷茫,不知位置在哪有关系,不过这个问题基本算是伪问题,这种东西放到更高的维度,真的什么都不是. 但是为什么J家好像是不 ...
- Javascript继承机制的设计
写软工作业时各种蛋疼:主要在于Javascript没有“子类”“父类”“接口”的概念,只能使用prototype来实现,看了下面一篇文章,感觉写得很不错~ http://www.ruanyifeng. ...
- Daily Scrum – 1/6
Meeting Minutes 确认修复了一个bug,即变方的: 分配了以后的任务: 确认将速度写入了用户的设置文件 Burndown Progress part 组员 今日工作 Time ...
- use case
- OC基础--成员变量的封装
一.封装的作用: 1.重用 2.不必关心具体的实现 3.面向对象三大特征之一 4.具有安全性 二.OC中成员变量的命名规范以及注意事项 1.命名规范--.成员变量都以下划线“_”开头 1)为了跟get ...
- 用form表单实现Ajax---post提交
实例讲解:新闻发布实现无刷新上传,显示 html代码: 注意:文本框中并没有id ,,只有name.jquery获取每个文本框的值还要在拼写提交格式(id=value&name=value& ...
- Java JDBC下执行SQL的不同方式、参数化预编译防御
相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...
- javaIO(二)
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流. 在java.io包中流的操作主要有字节流.字符流两大类,两类都 ...