laytpl 精致巧妙的JavaScript模板引擎


Posted in Javascript onAugust 29, 2014

laytpl是一款颠覆性的JavaScript模板引擎,它用巧妙的实现方式,将自身的体积变得小巧玲珑,不仅性能接近极致,并且还具备传统前端引擎的几乎所有功能。所有的变身魔法都由不到1KB的代码创造,这仿佛是一场革命,又或者不是,但毋庸置疑的是,laytpl的确在用最轻量的方式呈现给世人。如果你从未接触这方面的应用,没关系,下面的讲述将会让你迫不及待地选择laytpl,从此更好地把握页面的数据渲染,走上人生巅峰!

laytpl 精致巧妙的JavaScript模板引擎

laytpl优势

•性能卓绝,执行速度比号称性能王的artTemplate、doT还要快将近1倍,比baiduTemplate、kissyTemplate等快20-40倍,数据规模和渲染频率越大越明显
•体积简直小到极致,不足1kb,未来它还会变得更小。
•具备转义等安全机制,比较科学的报错功能
•模版中可任意书写Native JavaScript,充分确保模版的灵活度
•支持应用在Node.js平台
•支持所有古代或现代的主流浏览器

laytpl 精致巧妙的JavaScript模板引擎

使用方式

//第一步:编写模版。你可以使用一个script标签存放模板,如:

<script id="demo" type="text/html">

<h1>{{ d.title }}</h1>

<ul>

{{# for(var i = 0, len = d.list.length; i < len; i++){ }}

    <li>

        <span>姓名:{{ d.list[i].name }}</span>

        <span>城市:{{ d.list[i].city }}</span>

    </li>

{{# } }}

</ul>

</script>

//第二步:建立视图。用于呈现渲染结果。

<div id="view"></div>

//第三步:渲染模版

var data = {

    title: '前端攻城师',

    list: [{name: '贤心', city: '杭州'}, {name: '谢亮', city: '北京'}, {name: '浅浅', city: '杭州'}, {name: 'Dem', city: '北京'}]

};

var gettpl = document.getElementById('demo').innerHTML;

laytpl(gettpl).render(data, function(html){

    document.getElementById('view').innerHTML = html;

});

文档说明

一、模版语法

输出一个普通字段,不转义html:   {{ d.field }}
输出一个普通字段,并转义html:   {{= d.field }}
JavaScript脚本: {{# JavaScript statement }}

二、内置方法

1):laytpl(template);   //核心函数,返回一个对象
   
    var tpl = laytpl(template);
    tpl.render(data, callback);   //渲染方法,返回渲染结果,支持异步和同步两种模式
        a):异步
        tpl.render(data, function(result){
            console.log(result);
        });
       
        b):同步
        var result = tpl.render(data);
        console.log(result);

   
2):laytpl.config(options); //初始化配置
    options是一个对象
    {open: '开始标签', close: '闭合标签'}
   
3):laytpl.v    //获取版本号

注意事项

1.直接引入laytpl.js即可,另外还可直接使用Seajs等模块化加载。
2.无论商业或个人平台都可以任意使用laytpl
3.任何场合下都务必保留来源,请勿剔除laytpl.js头部注释。

官方网站:http://sentsin.com/layui/laytpl/

下载:https://3water.com/codes/207072.html

Javascript 相关文章推荐
javascript 精粹笔记
May 09 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 Javascript
javascript实现网页背景烟花效果的方法
Aug 06 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
Aug 29 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
Sep 17 Javascript
jQuery实现的模拟弹出窗口功能示例
Nov 24 Javascript
Vue+axios实现统一接口管理的方法
Jul 23 Javascript
微信运维交互机器人的示例代码
Nov 12 Javascript
javascript使用substring实现的展开与收缩文字功能示例
Jun 17 Javascript
jQuery 动画与停止动画效果实例详解
May 19 jQuery
如何在vue中使用jointjs过程解析
May 29 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
Oct 29 Javascript
jQuery动画特效实例教程
Aug 29 #Javascript
jQuery实用函数用法总结
Aug 29 #Javascript
jQuery实现异步获取json数据的2种方式
Aug 29 #Javascript
原生javascript实现的分页插件pagenav
Aug 28 #Javascript
JavaScript判断变量是对象还是数组的方法
Aug 28 #Javascript
分享一个自己动手写的jQuery分页插件
Aug 28 #Javascript
jQuery标签替换函数replaceWith()的使用例子
Aug 28 #Javascript
You might like
wampserver改变默认网站目录的办法
2015/08/05 PHP
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
python实现百度关键词排名查询
2014/03/30 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
机器学习python实战之决策树
2017/11/01 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
用Django写天气预报查询网站
2018/10/21 Python
Django 大文件下载实现过程解析
2019/08/01 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
抽象类和接口的区别
2012/09/19 面试题
大学生思想汇报范文
2013/12/31 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
2014年就业工作总结
2014/11/26 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
2016年春节问候语
2015/11/11 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
python3 删除所有自定义变量的操作
2021/04/08 Python
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript