我正在尝试编写一个函数来加载外部文件中的模板并将它们与jsrender
. 但是,我收到此错误:
TypeError: elem.getAttribute is not a function
[Break On This Error]
value = $templates[elem.getAttribute(tmplAttr)];
我有一些console.logs
显示模板是用 ajax 检索的。
导致错误的基本代码如下:
var path = 'templates/myTemplate.tmpl.html';
var data = searchResultTeasers;
var target = $('#results');
$.ajax({
url : path,
aysnc : false,
success : function(template) {
console.log("Path", path);
console.log("Template", template);
console.log("Data", data);
//=============================================
// Save Template with url as name for future
//=============================================
$.templates(path, template);
//=============================================
// Get Template String
//=============================================
var templateString = $.templates(path);
//=============================================
// Render Template
//=============================================
renderedTemplate = templateString.render(data);
target.html(renderedTemplate);
}
});
错误在 jsrender.js (第 829 行)中,我认为它与 $.templates(path); 但我不明白可能出了什么问题。
这是项目压缩包的链接:http: //sdrv.ms/QsZpQT
我的功能基于这篇文章:http: //msdn.microsoft.com/en-us/magazine/hh975379.aspx
我不确定这是否与 jsRender 相关,但它仍然阻止我继续,我将不胜感激。