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