熟练使用artTemplate.helper()方法

最近,使用artTemplate模板比较频繁,也遇到了一些问题。 使用artTemplate模板的时候,使用{{$index}}只能获取到小写的阿拉伯数字,但是,项目实际需要大写的,类似,"一、二、三、四"这样的数字写法。之前也使用过这个模板,但是并没有遇到这样的需求。更要紧的是模板提供的helper()方法不怎么会用。形势所逼,还是硬着头皮了解一下吧。 如果有同行业遇到这样的问题,在网上搜索的到类似的,那肯定和写的不一样,仔细了解一下吧,代码贴在这儿了。


  1. <!DOCTYPE html>
  2. <html>
  3. <headlang="zh-cn">
  4. <metacharset="UTF-8">
  5. <title>arttemplate</title>
  6. <scriptsrc="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <scriptsrc="template.js"></script>
  8. </head>
  9. <body>
  10. <divid="content3"></div>
  11. <scriptid="test3"type="text/html">
  12. <p>{{numberToChar 11230}}</p>
  13. </script>
  14. </body>
  15. <script>
  16. var toChar =["零","一","二","三","四","五","六","七","八","九"];
  17. var toUnitChar =["","十","百","千","万","亿","万亿","亿亿"];
  18. template.helper('numberToChar',function(number){
  19. var toStr ='', toLargeStr ='';
  20. var toUnitStr =0;
  21. var flag =true;
  22. while(number >0){
  23. var v = number %10;
  24. if(v ===0){
  25. if(!flag){
  26. flag =true;
  27. toLargeStr = toChar[v]+ toLargeStr;
  28. }
  29. }else{
  30. flag =false;
  31. toStr = toChar[v];
  32. toStr += toUnitChar[toUnitStr];
  33. toLargeStr = toStr + toLargeStr;
  34. }
  35. toUnitStr++;
  36. number =Math.floor(number /10);
  37. }
  38. return toLargeStr;
  39. });
  40. $('#content3').html(template('test3'));
  41. </script>
  42. </html>

最近,使用artTemplate模板比较频繁,也遇到了一些问题。 使用artTemplate模板的时候,使用{{$index}}只能获取到小写的阿拉伯数字,但是,项目实际需要大写的,类似,"一、二、三、四"这样的数字写法。之前也使用过这个模板,但是并没有遇到这样的需求。更要紧的是模板提供的helper()方法不怎么会用。形势所逼,还是硬着头皮了解一下吧。 如果有同行业遇到这样的问题,在网上搜索的到类似的,那肯定和写的不一样,仔细了解一下吧,代码贴在这儿了。


  1. <!DOCTYPE html>
  2. <html>
  3. <headlang="zh-cn">
  4. <metacharset="UTF-8">
  5. <title>arttemplate</title>
  6. <scriptsrc="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <scriptsrc="template.js"></script>
  8. </head>
  9. <body>
  10. <divid="content3"></div>
  11. <scriptid="test3"type="text/html">
  12. <p>{{numberToChar 11230}}</p>
  13. </script>
  14. </body>
  15. <script>
  16. var toChar =["零","一","二","三","四","五","六","七","八","九"];
  17. var toUnitChar =["","十","百","千","万","亿","万亿","亿亿"];
  18. template.helper('numberToChar',function(number){
  19. var toStr ='', toLargeStr ='';
  20. var toUnitStr =0;
  21. var flag =true;
  22. while(number >0){
  23. var v = number %10;
  24. if(v ===0){
  25. if(!flag){
  26. flag =true;
  27. toLargeStr = toChar[v]+ toLargeStr;
  28. }
  29. }else{
  30. flag =false;
  31. toStr = toChar[v];
  32. toStr += toUnitChar[toUnitStr];
  33. toLargeStr = toStr + toLargeStr;
  34. }
  35. toUnitStr++;
  36. number =Math.floor(number /10);
  37. }
  38. return toLargeStr;
  39. });
  40. $('#content3').html(template('test3'));
  41. </script>
  42. </html>
posted @ 2019-01-24 10:37  有深度  阅读(2303)  评论(0编辑  收藏  举报