用胡子填充外部.html文件?

时间:2015-04-15 15:10:01

标签: javascript hogan.js

假设我有jQuery代码将外部html文件加载到模板中。

$('#myButton').click(function(){
  $('#content').load('file.html');
});

现在,我想填充file.html文件中的一些字段。这可能吗?

2 个答案:

答案 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
  }
});