最近,使用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>