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折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
Jan 22 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 Javascript
javascript多行字符串的简单实现方式
May 04 Javascript
理解JS事件循环
Jan 07 Javascript
JavaScript中的遍历详解(多种遍历)
Apr 07 Javascript
详解node nvm进行node多版本管理
Oct 21 Javascript
vue 插值 v-once,v-text, v-html详解
Jan 19 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
May 04 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 Javascript
JS实现数组深拷贝的方法分析
Mar 06 Javascript
vue3实现v-model原理详解
Oct 09 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 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/07/22 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
深入解析Python中的lambda表达式的用法
2015/08/28 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
django富文本编辑器的实现示例
2019/04/10 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
编写strcpy函数
2014/06/24 面试题
几个数据库方面的面试题
2016/07/01 面试题
六月份红领巾广播稿
2014/02/03 职场文书
闭幕式主持词
2014/04/02 职场文书
实习证明格式范文
2014/10/14 职场文书
中学生检讨书范文
2014/11/03 职场文书
工作态度不好检讨书
2015/05/06 职场文书