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 相关文章推荐
学习ExtJS form布局
Oct 08 Javascript
基于jQuery的为attr添加id title等效果的实现代码
Apr 20 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
Jan 21 Javascript
使用javascript控制cookie显示和隐藏背景图
Feb 12 Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
Dec 15 Javascript
在vue-cli中组件通信的方法
Dec 16 Javascript
微信小程序自定义导航教程(兼容各种手机)
Dec 12 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
JS常用排序方法实例代码解析
Mar 03 Javascript
详解Node.JS模块 process
Aug 31 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编程最快明白》第三讲:php数组
2010/11/01 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
浅析PHP开发规范
2018/02/05 PHP
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
js选项卡的实现方法
2015/02/09 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
python实现随机漫步算法
2018/08/27 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
初中科学教学反思
2014/01/21 职场文书
仓管岗位职责范本
2014/02/08 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
西式结婚主持词
2014/03/14 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
学习普通话的体会
2014/11/07 职场文书
2014年库房工作总结
2014/11/26 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python