Handlebars 自定义数据格式化、数据运算
2017-04-10 16:10
169 查看
第一步:
引用 插件 handlebars.min.js
第二步:
定义模版
<script id="custom-template" type="text/x-handlebars-template">
<tr data-id="{{id}}">
<td width="120px">{{computeAdd udf1 udf2 udf3 udf4}}</td>
<td width="80px">{{prettifyDate createdTime "YYYY-MM-DD"}}</td>
<td></td>
</tr>
</script>
设置 自定义:
Handlebars.registerHelper({
'prettifyDate' : function(timestamp) {//格式化时间
var format = 'YYYY-MM-DD';
if(arguments.length > 2){
format = arguments[1];
}
if(timestamp){
return moment(new Date(timestamp)).format(format);
} else {
return '';
}
},//格式化数字默认空为''
'prettifyNumber': function(number) {
var format = '0.00', zero = true;
if(arguments.length > 2){
format = arguments[1];
}
if(arguments.length > 3){
zero = arguments[2];
}
return (zero ? number!=null : !!number) ? numeral(number).format(format):'';
},//字符去空格
'prettifyStr': function(s) {
return s && s.replace(/\s/g, " " ); ;
},//格式化数字默认空为0
'prettifyPositive': function(number) {
var format = '0.00', zero = true;
if(arguments.length > 2){
format = arguments[1];
}
if(arguments.length > 3){
zero = arguments[2];
}
return (zero ? number!=null&&number>0 : !!number) ? numeral(number).format(format) : '0';
},//减
'subtract': function(number1, number2) {
var format = '0.00';
if(arguments.length > 3){
format = arguments[2];
}
var number = number1 - number2;
return number ? numeral(number).format(format) : '';
},//加
'computeAdd': function() {
var big = 0;
try{
var len = arguments.length - 1;
for(var i = 0; i < len; i++){
if(arguments[i]){
big = eval(big +"+"+ arguments[i]);
}
}
}catch(e){
throw new Error('Handlerbars Helper "computeAdd" can not deal with wrong expression:'+arguments);
}
return big;
}
});
第三步:调用模版:
//obj 为 动态数据pojo
var source = $("#custom-template").html();
var template = Handlebars.compile(source);
var html = template(obj);
圆满完成
引用 插件 handlebars.min.js
第二步:
定义模版
<script id="custom-template" type="text/x-handlebars-template">
<tr data-id="{{id}}">
<td width="120px">{{computeAdd udf1 udf2 udf3 udf4}}</td>
<td width="80px">{{prettifyDate createdTime "YYYY-MM-DD"}}</td>
<td></td>
</tr>
</script>
设置 自定义:
Handlebars.registerHelper({
'prettifyDate' : function(timestamp) {//格式化时间
var format = 'YYYY-MM-DD';
if(arguments.length > 2){
format = arguments[1];
}
if(timestamp){
return moment(new Date(timestamp)).format(format);
} else {
return '';
}
},//格式化数字默认空为''
'prettifyNumber': function(number) {
var format = '0.00', zero = true;
if(arguments.length > 2){
format = arguments[1];
}
if(arguments.length > 3){
zero = arguments[2];
}
return (zero ? number!=null : !!number) ? numeral(number).format(format):'';
},//字符去空格
'prettifyStr': function(s) {
return s && s.replace(/\s/g, " " ); ;
},//格式化数字默认空为0
'prettifyPositive': function(number) {
var format = '0.00', zero = true;
if(arguments.length > 2){
format = arguments[1];
}
if(arguments.length > 3){
zero = arguments[2];
}
return (zero ? number!=null&&number>0 : !!number) ? numeral(number).format(format) : '0';
},//减
'subtract': function(number1, number2) {
var format = '0.00';
if(arguments.length > 3){
format = arguments[2];
}
var number = number1 - number2;
return number ? numeral(number).format(format) : '';
},//加
'computeAdd': function() {
var big = 0;
try{
var len = arguments.length - 1;
for(var i = 0; i < len; i++){
if(arguments[i]){
big = eval(big +"+"+ arguments[i]);
}
}
}catch(e){
throw new Error('Handlerbars Helper "computeAdd" can not deal with wrong expression:'+arguments);
}
return big;
}
});
第三步:调用模版:
//obj 为 动态数据pojo
var source = $("#custom-template").html();
var template = Handlebars.compile(source);
var html = template(obj);
圆满完成
相关文章推荐
- handlebars获取json数据(集合对象)及各种自定义helper数据格式化工具
- 译]Scott Mitchell 的ASP.NET 2.0数据教程之十一: 基于数据的自定义格式化
- [译]Scott Mitchell 的ASP.NET 2.0数据教程之十一: 基于数据的自定义格式化
- 让VS2010调试器帮你格式化显示自定义数据
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
- Scott Mitchell 的ASP.NET 2.0数据教程之十一: 基于数据的自定义格式化
- 双精度浮点型数据运算精度丢失以及数据的格式化问题
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
- Scott Mitchell 的ASP.NET 2.0数据教程之十一: 基于数据的自定义格式化
- springmvc 使用@responsebody返回数据时,使用自定义的格式化Float的方法
- SpringMVC4.x学习系列之返回JSON数据自定义格式化日期Date
- PHP自定义函数格式化json数据示例
- Scott Mitchell 的ASP.NET 2.0数据教程之十一: 基于数据的自定义格式化
- 数据自定义格式化
- 在ASP.NET 2.0中操作数据之十一:基于数据的自定义格式化
- jqGrid 自定义格式化数据:formatter
- PHP自定义函数格式化json数据示例
- Spring MVC通过添加自定义注解格式化数据的方法
- 让VS调试器帮你格式化显示自定义数据