从外部文件加载jQuery-Templates?

时间:2010-12-06 11:57:12

标签: jquery templates jquery-templates

我刚开始使用jQuery的模板引擎。到目前为止看起来相当不错。但我想知道是否有可能以某种方式从外部文件加载模板。想象一下,有大量的模板。这会弄乱html代码并且也不可缓存,并且必须在每个请求上下载。

我希望有一种方法可以在外部文件中定义它们,然后加载它们并将编译好的模板存储到localStorage中。

有没有人知道如何从外部文件加载它们?

3 个答案:

答案 0 :(得分:14)

您可以使用ajax加载此模板。

<script>
  var movies = [
    { Name: "The Red Violin", ReleaseYear: "1998", Director: "François Girard" },
    { Name: "Eyes Wide Shut", ReleaseYear: "1999", Director: "Stanley Kubrick" },
    { Name: "The Inheritance", ReleaseYear: "1976", Director: "Mauro Bolognini" }
  ];

  $.get("templates/movieTemplate.html", function(data, textStatus, XMLHttpRequest){
    var markup = data; //"<tr><td colspan='2'>${Name}</td><td>Released: ${ReleaseYear}</td><td>Director: ${Director}</td></tr>"

    /* Compile markup string as a named template */
    $.template( "movieTemplate", markup );

    /* Render the named template */
    $.tmpl( "movieTemplate", movies ).appendTo( "#movieList" );
  });
</script>

如果您只想加载任何模板一次,现在可以为已加载的模板添加localstorage逻辑或数组。

答案 1 :(得分:1)

我写了litle lib作为ajax渲染html的jQuery插件,在浏览器中使用indexDB缓存的出现块jQuery HTML Template Loader

答案 2 :(得分:0)

我最近写了一个javascript库来帮助解决这个问题:

https://www.github.com/stevenmhunt/tmpl.loader

您可以使用<link>标记添加jsRender或任何其他类型的模板文件,它们会自动注册。