簡単なテンプレートエンジンを作成するために使用している次のコードがあります。htmlページは次のとおりです。-
<ns tmp="red"></ns>
<ns tmp="blue"></ns>
一方、JQueryプラグインのようにJavaScriptを使用しており、タグを読み取ってから属性を取得しますtmp
。文字列の値を受け取り、それを関数に変換して、事前定義された値を呼び出します。オブジェクト内ですが、文字列から関数への変換が機能していません。スタックオーバーフローでいくつかの質問を参照しましたが、役に立ちませんでした。次に、以下で説明するJQueryコード。
(function($){
/*Collection of the template data*/
var k=template();
/*This retrieves all the custom tags and gets the template
property to point to.*/
var templateArray=$('ns');
templateArray.each(function(){
var template=$(this).attr('tmp');
var funcName=window[template]();//This does not work
alert(l());
});
})(jQuery);
function template(){
var t={
blue:function(){
return "Hello";
},
red:function(){
return "ff";
}
};
return t;
}
これをうまくやっていく方法を提案してください。私もこれをフィドルに持っています。なんらかの方法でオブジェクト内の関数を呼び出せるように、自由に編集してください。ありがとうFiddle Link FIDDLE LINK