最近,使用artTemplate模板比较频繁,也遇到了一些问题。 使用artTemplate模板的时候,使用{{$index}}只能获取到小写的阿拉伯数字,但是,项目实际需要大写的,类似,"一、二、三、四"这样的数字写法。之前也使用过这个模板,但是并没有遇到这样的需求。更要紧的是模板提供的helper()方法不怎么会用。形势所逼,还是硬着头皮了解一下吧。 如果有同行业遇到这样的问题,在网上搜索的到类似的,那肯定和写的不一样,仔细了解一下吧,代码贴在这儿了。
<!DOCTYPE html><html><headlang="zh-cn"><metacharset="UTF-8"><title>arttemplate</title><scriptsrc="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><scriptsrc="template.js"></script></head><body><divid="content3"></div><scriptid="test3"type="text/html"><p>{{numberToChar 11230}}</p></script></body><script>var toChar =["零","一","二","三","四","五","六","七","八","九"];var toUnitChar =["","十","百","千","万","亿","万亿","亿亿"];template.helper('numberToChar',function(number){var toStr ='', toLargeStr ='';var toUnitStr =0;var flag =true;while(number >0){var v = number %10;if(v ===0){if(!flag){flag =true;toLargeStr = toChar[v]+ toLargeStr;}}else{flag =false;toStr = toChar[v];toStr += toUnitChar[toUnitStr];toLargeStr = toStr + toLargeStr;}toUnitStr++;number =Math.floor(number /10);}return toLargeStr;});$('#content3').html(template('test3'));</script></html>
最近,使用artTemplate模板比较频繁,也遇到了一些问题。 使用artTemplate模板的时候,使用{{$index}}只能获取到小写的阿拉伯数字,但是,项目实际需要大写的,类似,"一、二、三、四"这样的数字写法。之前也使用过这个模板,但是并没有遇到这样的需求。更要紧的是模板提供的helper()方法不怎么会用。形势所逼,还是硬着头皮了解一下吧。 如果有同行业遇到这样的问题,在网上搜索的到类似的,那肯定和写的不一样,仔细了解一下吧,代码贴在这儿了。
<!DOCTYPE html><html><headlang="zh-cn"><metacharset="UTF-8"><title>arttemplate</title><scriptsrc="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><scriptsrc="template.js"></script></head><body><divid="content3"></div><scriptid="test3"type="text/html"><p>{{numberToChar 11230}}</p></script></body><script>var toChar =["零","一","二","三","四","五","六","七","八","九"];var toUnitChar =["","十","百","千","万","亿","万亿","亿亿"];template.helper('numberToChar',function(number){var toStr ='', toLargeStr ='';var toUnitStr =0;var flag =true;while(number >0){var v = number %10;if(v ===0){if(!flag){flag =true;toLargeStr = toChar[v]+ toLargeStr;}}else{flag =false;toStr = toChar[v];toStr += toUnitChar[toUnitStr];toLargeStr = toStr + toLargeStr;}toUnitStr++;number =Math.floor(number /10);}return toLargeStr;});$('#content3').html(template('test3'));</script></html>