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:一个渲染函数. 示例如 ...
随机推荐
- 20145219 gdb调试汇编堆栈分析
20145219 gdb调试汇编堆栈分析 代码gdbdemo.c int g(int x) { return x+19; } int f(int x) { return g(x); } int mai ...
- 20145215《Java程序设计》第6周学习总结
20145215<Java程序设计>第六周学习总结 教材学习内容总结 输入/输出 InputStream与OutputStream 从应用程序角度来看,如果要将数据从来源取出,可以使用输入 ...
- 安装包制作工具 SetupFactory使用2 API清单
2014-11-19 SetupFactory中可以通过其API控制很复杂的业务需求. 下图中展示了其内置的API种类与具体分类函数. 序号 API名称 API说明 1 Application.E ...
- python selenuim使用代理的方式
一.FireFox浏览器 myProxy = "60.195.250.55:80" proxy = Proxy({ 'proxyType': ProxyType.MANUAL, ' ...
- 看别人的代码学习的css
<ul class='y1'> <li><a href="#">菜单</a></li> <li ...
- HTML上传文件写法
来源于:http://www.cnblogs.com/SkySoot/p/3525139.html html 表单上传文件 一般处理程序由于没有 apsx 页面的整个模型和控件的创建周期,而比较有效率 ...
- poj 3669 线段树成段更新+区间合并
添加 lsum[ ] , rsum[ ] , msum[ ] 来记录从左到右的区间,从右到左的区间和最大的区间: #include<stdio.h> #define lson l,m,rt ...
- sql-in和not in
IN .NOT IN这个指令可以让我们依照一或数个不连续 (discrete) 的值的限制之内抓出数据库中的值 in和not in in:存在与...里面的 not in:不存在与..里面的 其指令语 ...
- config 写入
d代码: # __author__ = liukun # coding:utf-8 line = input("please input the config \n :") #提示 ...
- MyEclipse护眼模式、字体大小的调整
1.Eclipse改变背景颜色 Windows menu --> Preference General -> Editors -> Text Editors(click), 在底部 ...