テンプレートエンジン的な
ubiquityにテンプレートがあって便利だナーとおもった。明らかな車輪
function templateEngineInit(hash){ var obj = new TemplateEngine(); for(var i in hash){ obj[i] = hash[i];} return obj; }; function templateDirectRender(hash){ var obj = new TemplateEngine(); for(var i in hash){ obj[i] = hash[i];} return obj.render(); }; function TemplateEngine(){}; TemplateEngine.prototype = { target:"#{key1}test#{key2}test#{key1}test#{key2}", key_value:{ "key1":"value1","key2":"value2"}, render:function(){ var str = this.target; for(var i in this.key_value){ re = new RegExp(this._getreplacer(i),"g"); str = str.replace(re,this.key_value[i]); } return str; }, _getreplacer:function(targ){ return "#{" + targ + "}" ;}, }; //use $(function(){ var hoge = "ほげ#{key}負が#{key}"; var str = templateEngineInit({ "target":hoge,key_value:{"key":"value"} }).render(); alert(str); alert(templateDirectRender({"target":hoge,key_value:{"key":"value"}})); });
うまく動くといいですね。
いまいちprototypeのすっきりした作り方が分からない。