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调用WebService的实现代码
Jun 19 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
Query中click(),bind(),live(),delegate()的区别
Nov 19 Javascript
JS中window.open全屏命令解析及使用示例
Dec 11 Javascript
js的2种继承方式详解
Mar 04 Javascript
javascript的函数作用域
Nov 12 Javascript
javascript 兼容各个浏览器的事件
Feb 04 Javascript
Javascript函数的参数
Jul 16 Javascript
JavaScript Canvas绘制圆形时钟效果
Aug 20 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
微信小程序数字滚动插件使用详解
Feb 02 Javascript
vue实现文件上传功能
Aug 13 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加密专家(PHPCodeLock)
2010/05/06 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP session 会话处理函数
2016/06/06 PHP
关于PHP定时发送服务的解决办法
2017/04/23 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
jQuery学习笔记之Helloworld
2010/12/22 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
python使用cookielib库示例分享
2014/03/03 Python
Python中使用SAX解析xml实例
2014/11/21 Python
python实现字符串加密成纯数字
2019/03/19 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
二年级体育教学反思
2014/01/15 职场文书
运动会跳远加油稿
2014/02/20 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
法学求职信
2014/06/22 职场文书
大学同学聚会感言
2015/07/30 职场文书
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android