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 相关文章推荐
javascript 单选框,多选框美化代码
Aug 01 Javascript
JS与框架页的操作代码
Jan 17 Javascript
js中的string.format函数代码
Aug 11 Javascript
Jquery 获取checkbox的checked问题
Nov 16 Javascript
js 限制数字 js限制输入实现代码
Dec 04 Javascript
纯js代码实现简单计算器
Dec 02 Javascript
JavaScript驾驭网页-获取网页元素
Mar 24 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 Javascript
浅析angularJS中的ui-router和ng-grid模块
May 20 Javascript
jQuery向父辈遍历的简单方法
Sep 18 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
浅谈angular2路由预加载策略
Oct 04 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 数组和字符串互相转换实现方法
2013/03/26 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
js 模拟气泡屏保效果代码
2010/07/10 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
Python批量转换文件编码格式
2015/05/17 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
python中while和for的区别总结
2019/06/28 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
软件测试题目
2013/02/27 面试题
中层干部培训方案
2014/06/16 职场文书
个人授权委托书格式
2014/08/30 职场文书
办公室主任岗位职责
2015/01/31 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS