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 相关文章推荐
JavaScipt基本教程之JavaScript语言的基础
Jan 16 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
Oct 23 Javascript
JS实现可点击展开与关闭的左侧广告代码
Sep 02 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
Dec 25 Javascript
JavaScript中定义类的方式详解
Jan 07 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
Mar 05 Javascript
thinkjs 文件上传功能实例代码
Nov 08 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
vue 组件使用中的一些细节点
Apr 25 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
JS面试题中深拷贝的实现讲解
May 07 Javascript
在vue-cli3中使用axios获取本地json操作
Jul 30 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
PHP实现下载断点续传的方法
2014/11/12 PHP
Yii框架登录流程分析
2014/12/03 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
python实现广度优先搜索过程解析
2019/10/19 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
python实现拼接图片
2020/03/23 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
医药工作者的求职信范文
2013/09/21 职场文书
会计与审计毕业生自荐信范文
2013/12/30 职场文书
会议邀请函范文
2014/01/09 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
公司岗位说明书
2015/10/08 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android