如此处所述:http://www.jblotus.com/2011/05/24/keeping-your-handlebars-js-templates-organized/
我正在尝试使用此功能:
(
function getTemplateAjax(path, callback) {
var source;
var template;
$.ajax({
url: path,
success: function(data) {
source = data;
template = Handlebars.compile(source);
//execute the callback if passed
if (callback) callback(template);
}
});
}
//run our template loader with callback
(getTemplateAjax('js/templates/handlebarsdemo.handlebars', function(source) {
//do something with compiled template
$('body').html(template);
})()
)()
我是JS的新手,我该如何使用它?
我想:
更新
得到答案,代码中有一个拼写错误:这有效。
在调用函数时,参数是source,但被用作模板。
function getTemplateAjax(path, callback) {
var source;
var template;
$.ajax({
url: path,
success: function(data) {
source = data;
template = Handlebars.compile(source);
if (callback) callback(template);
}
});
}
getTemplateAjax('js/templates/handlebarsdemo.handlebars', function(template) {
data = {title: "hello!" , body: "world!"}
$('body').html(template(data));
})
答案 0 :(得分:0)
代码是正确的,您似乎正确地调用它
你应该确保你正确设置了jQuery(只需检查jQuery全局变量的值 - 它不应该是“未定义”)。
此外,您应该检查把手是否真的在您认为的位置 - 也许您应该使用绝对URL而不是相对URL。
答案 1 :(得分:0)
首先尝试检查你是否是该功能的goint。如果你那么检查你是否从ajax调用得到响应...并使用try ... exception - 这样如果在ajax设置中出现问题,你就会立刻知道它。
只有在从ajax调用中获得结果时,才能显示结果。