一个简单的前端模板引擎
一个简单的前端模板引擎
简介一个简单的前端模板引擎,基于John Resig的Micro-Templating构建。
<% logic %>
<%= 输出 %>
区别如下:
1、去掉自动缓存,避免不必要的存储消耗。将自动缓存功能通过实例化的方式交给使用者: var render = new Template( tmpl ); 同时也提供了快捷方式渲染方式: Template.render( tmpl, data );
2、支持模板注释和指令。都采用jsp的语法, 注释:<%!-- 注释 --%>, 指令:<%@ h:helper %>。
目前只支持一条指令:
h:{name} //辅助类
3、支持注册辅助函数。针对当前引擎实例: render.registHelper(); 针对全局: Template.registHelper();
API new Template()var render = new Template( tmpl );
构造函数。
tmpl:{String} 模板字符串,可选。
render.setContent( tmpl);
设置模板字符串。
tmpl:{String} 模板字符串,可选。
render.compile();
编译。
render.render()render.render( data );
使用给定数据渲染。
data: {Object} 用于渲染的数据。
render.registHelper( name, func );
注册辅助功能。
name:{String} 功能名称。
func:{Object|Function} 功能。
var funcs = { name : func };
render.registHelper( funcs );
注册辅助功能。
funcs: {Object。
Template.render( tmpl, data );
快捷方式。
tmpl:{String} 模板字符串
data:{Object} 渲染数据
Template.registHelper( name, func );
全局注册辅助功能。
name:{String} 功能名称。
func:{Object|Function} 功能。
var funcs = { name : func };
Template.registHelper( funcs );
全局注册辅助功能。
funcs: {Object}
目前只支持一条指令,即辅助功能: <%@ h:helper %>
h: 辅助功能命名,默认是helper。模板中使用:
<%= helper.timeFormat( v.t, "mm:ss" ) %>
辅助功能封装了少量的常用功能。
trimhelper.trim( s );
删除字符串前后空格。
dateFormathelper.dateFormat( date, f );
日期格式化。
date:{Date|Number|String}
f:{String} 格式样式,如'yy-MM-dd', 'yyyy年MM月dd日'
helper.timeFormat( t, f );
时间格式化。(主要用于视频时间)
t:{Number|String} 秒数。
f:{String} 格式样式,如'mm:ss', 'mm分ss秒'
helper.truncate( s, limit, isSuffix, suffix );
字符串截取。
s:{String} 要截取的字符串
limit:{Number} 截取的长度
isSuffix:{Boolean} 可选,默认false。是否需要后缀
suffix:{String} 可选,默认是'...'。后缀
helper.numberGroup( s, n, splitChar );
分隔字符串/字符串。例如货币的表示方式 '1234567' -> '1,234,567'
s:{String|Number} 原始数据
n:{Number} 可选,默认是3。n个一组
splitChar:{String} 可选,默认是','。用于分隔的字符
helper.escapeXSS( s );
防止XSS攻击,对'<' 和 '>' 进行html转义。 s:{String} 原始数据
LicenseAll directories and files are MIT Licensed.
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。