我在运行时将模板应用到 JsRender 时遇到问题。
请参考这张图片 -
当我单击执行模型按钮时,我从控制器获取数据并在客户端缓存在对象(resultData)中。
如果我使用硬编码模板,它可以工作。这是代码
$.templates({ tmpl: "{{:#index+1}}:<b>ID=>{{:ItemID}}</b>- <i>Name=>{{:ItemName}}</i> - (Rate=>{{:Rate}}) <br />" });
$( "#outputWindow" ).html( $.render [ "tmpl" ]( resultData ));
当我单击任何样式时,我必须应用动态模板。我也可以获得动态模板。请检查这张图片 -
以下是我要应用的代码-
// Apply selected style
function applyThisStyle(stl) {
var id = $(stl).parent().find('#hidScannerId').val();
var styleName = stl.innerHTML.toString().trim();
alert('Applying style : ' + stl.innerHTML+ ', id='+id);
//var styleText = "";
var thisScanner = scannerDictionary[id];
for(var i=0;i<thisScanner.Styles.length;i++) {
if (thisScanner.Styles[i].Name == styleName) {
alert(styleName);
var styleText = thisScanner.Styles[i].HTMLContent;
renderMyTemplate(styleText);
break;
}
}
}
// Render template based on style selection
function renderMyTemplate(t) {
alert ("Template = " + t);
$.templates({ tmpl: t });
$( "#outputWindow" ).html( $.render [ "tmpl" ]( resultData ));
}
谁能告诉我代码有什么问题。为什么在硬编码工作时不应用动态模板。