var TemplateLite = Class.create();
/**
* @author stan
* @desc TemplateClass .lite
*/
TemplateLite.prototype = {
pattern : /(#\{(.*?)\})/g,
initialize : function (tmpl) {
this.tmpl = tmpl;
},
evaluate : function (data) {
return this.tmpl.replace(this.pattern, function(){
return data[arguments[2]] || "";
});
},
evaluateMulti : function (data) {
var _buffer = new Array();
window.foreach(data, function (v, i){
_buffer[i] = this.evaluate(v);
}.bind(this));
return _buffer.join("");
}
}
//- example -
/*
var myTemplate = "hello #{name}, welcome to #{city}!";
var testTemplate = new TemplateLite(myTemplate);
var myData = {
name : "stan",
city : "beijing"
};
var result = testTemplate.evaluate(myData);
trace(result); //hello stan, welcome to beijing!
*/
【 在 withinsea (沐海~魔導奏器|歌の琴フォルテール) 的大作中提到: 】
: 懶得在 js 裏面手工拼字符串的產物……
: 簡言之就是可以寫類似這種樣子的模板來用:
: function (items) {
: ...................
--
FROM 61.135.152.*