我是否可以使用jquery模板而不必在页面中包含所有模板(text / x-jquery-tmpl),而是通过ajax“按需”加载?
我正在尝试使用自定义标记,但我没有获得所需的结果:
function loadTemplate(template, data){
var html;
$.ajax({
url: "/widgets/"+template,
async : false,
success: function(result){
html = $(result).tmpl(data).html();
}
});
return html;
}
function extendTmpl() {
$.extend(jQuery.tmpl.tag, {
'atmpl': {
_default: { $1: "null", $2: "null" },
open: '_=_.concat(loadTemplate($1, $2));'
},
});
}
答案 0 :(得分:1)
根据文档$(element).tmpl()获取匹配集中的第一个元素并呈现其内容,即:
$('<span>hello</span>').tmpl() // => "hello"
结果只是一个没有span的文本节点。 相反:
$.tmpl('<span>hello</span>') // => "<span>hello</span>"
您可以使用后一种语法,也可以在处理前将结果打包为空<div>
:$(<div>).append(result).tmpl(...)