你的位置:首页 > Java教程

[Java教程]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'))