Javascript JQuery模板:异步模板加载?
我是否可以使用jquery模板,而不必将所有模板(text/x-jquery-tmpl)都放在页面中,而是通过ajax“按需”加载 我正在尝试使用自定义标记,但没有达到预期效果:Javascript JQuery模板:异步模板加载?,javascript,jquery,templates,Javascript,Jquery,Templates,我是否可以使用jquery模板,而不必将所有模板(text/x-jquery-tmpl)都放在页面中,而是通过ajax“按需”加载 我正在尝试使用自定义标记,但没有达到预期效果: function loadTemplate(template, data){ var html; $.ajax({ url: "/widgets/"+template, a
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));'
},
});
}根据文档$(element).tmpl()获取匹配集中的第一个元素并呈现其内容,即:
$('<span>hello</span>').tmpl() // => "hello"
$('hello').tmpl()/=>“hello”
结果就是一个没有跨度的文本节点。
相反地:
$.tmpl('<span>hello</span>') // => "<span>hello</span>"
$.tmpl('hello')/=>”你好"
您可以使用后一种语法,也可以在处理之前将结果包装为空的
:$().append(result).tmpl(…)
根据文档$(element)。tmpl()获取匹配集中的第一个元素并呈现其内容,即:
$('<span>hello</span>').tmpl() // => "hello"
$('hello').tmpl()/=>“hello”
结果就是一个没有跨度的文本节点。
相反地:
$.tmpl('<span>hello</span>') // => "<span>hello</span>"
$.tmpl('hello')/=>”你好"
您可以使用后一种语法,也可以在处理前将结果包装为空的
:$().append(result).tmpl(…)
您是否尝试过使用.template()动态切换模板
获取已编译的模板。我无法使用动态切换模型,因为仍然没有模板。这是一个嵌套模板,但该模板不在页面中,位于另一个文件中。是否尝试使用.template()动态切换模板
获取已编译的模板。我无法使用动态切换模型,因为仍然没有模板。这是一个嵌套模板,但该模板不在页面中,位于不同的文件中。