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 相关文章推荐
jquery 使用点滴函数代码
May 20 Javascript
js取模(求余数)隔行变色
May 15 Javascript
Node.js 学习笔记之简介、安装及配置
Mar 03 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
Apr 03 Javascript
原生js实现数字字母混合验证码的简单实例
Dec 10 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
AngularJS自定义指令之复制指令实现方法
May 18 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
Jun 17 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
Mar 01 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
Oct 28 Javascript
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 Vue.js
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
PHP实现异步调用方法研究与分享
2011/10/27 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
js jquery做的图片连续滚动代码
2008/01/06 Javascript
用javascript获取textarea中的光标位置
2008/05/06 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
js数组的操作指南
2014/12/28 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
合作协议书范本
2014/04/17 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js