假设我有jQuery代码将外部html文件加载到模板中。
$('#myButton').click(function(){
$('#content').load('file.html');
});
现在,我想填充file.html
文件中的一些字段。这可能吗?
答案 0 :(得分:1)
这是一个(未经测试的)示例,说明如何执行此操作。
$('#myButton').click(function() {
// load text into a hidden div.
$('#hiddenContent').load('file.html', function() {
// grab template from hidden div
var templateString = $('#hiddenContent').html();
// compile the template string into a template object
var compiledTemplate = hogan.compile(templateString);
// apply some data to the template
var parsedTemplate = compiledTemplate.render({...some data});
// finally, show the parsed template
$('#content').html(parsedTemplate);
}
});
编辑:附加说明
理想情况下,您不会将file.html
加载到dom元素中,因为它不需要显示。只需加载文字。
此外,编译模板的计算成本很高。在生产环境中,应预编译这些模板。 Hogan有一个名为Hulk的命令行工具,可以做到这一点。
答案 1 :(得分:0)
或许这样的事情?
$('#myButton').click(function() {
$('#content').load('file.html', function() {
// do something to populate fields created by the loading of file.html
}
});