Javascript 如何动态添加一个";x-tmpl";从脚本页面到HTML页面的脚本?
我尝试了不同的方法:Javascript 如何动态添加一个";x-tmpl";从脚本页面到HTML页面的脚本?,javascript,jquery,html,dom,dynamic,Javascript,Jquery,Html,Dom,Dynamic,我尝试了不同的方法: 外接程序主体innerHtml脚本部分 创建类型为“x-tmpl”的脚本元素 但这并不奏效。你能帮帮我吗 谢谢。我在尝试动态加载把手模板时遇到了类似的问题,因此我没有尝试将元素插入DOM,而是将编译后的模板存储到全局Javascript对象中: var TEMPLATES = {}; /** * Gets Handlebars template, either from JS if already loaded, or via AJAX request *
- 外接程序主体innerHtml脚本部分
- 创建类型为“x-tmpl”的脚本元素
谢谢。我在尝试动态加载把手模板时遇到了类似的问题,因此我没有尝试将
元素插入DOM,而是将编译后的模板存储到全局Javascript对象中:
var TEMPLATES = {};
/**
* Gets Handlebars template, either from JS if already loaded, or via AJAX request
* @param name Name of template
* @param data JSON data for use in template
* @returns Handlebars template
*/
function get_template(name,data) {
if(typeof TEMPLATES[name] != 'undefined') {
return TEMPLATES[name];
} else {
$.get(
TEMPLATE_ROOT + name + '.hb',
function(template) {
TEMPLATES[name] = Handlebars.compile(template);
render_template(name,data);
}
);
return null;
}
}
请注意,在成功加载模板后,我调用了render\u模板(名称、数据)
。这只是调用我的函数再次尝试呈现模板,模板现在将保存在内存中:
/**
* Render JSON using Handlebars template
* @param name Name of Handlebars template
* @param data JSON data to render
*/
function render_template(name,data){
var template = get_template(name,data);
if(template !== null) {
$('#main').html(template(data.transforms[1].data));
}
}
我对你要做的事情做了很多假设,希望这会有所帮助