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 相关文章推荐
js 鼠标点击事件及其它捕获
Jun 04 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
Nov 20 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
Jan 26 Javascript
Bootstrap实现弹性搜索框
Jul 11 Javascript
纯JS实现弹性导航条效果
Mar 06 Javascript
Centos6.8下Node.js安装教程
May 12 Javascript
Webpack中publicPath路径问题详解
May 03 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
May 05 Javascript
微信小程序转发事件实现解析
Oct 22 Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 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
用PHP实现多级树型菜单
2006/10/09 PHP
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
PHP函数积累总结
2019/03/19 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
浅析Bootstrap缩略图组件与警示框组件
2016/04/29 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
Python实现修改文件内容的方法分析
2018/03/25 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
Python实现最大子序和的方法示例
2019/07/05 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
python GUI计算器的实现
2020/10/09 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
什么是索引指示器
2012/08/20 面试题
思想品德自我鉴定
2013/10/12 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
班主任新年寄语
2014/04/04 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书