我刚开始使用jQuery的模板引擎。到目前为止看起来相当不错。但我想知道是否有可能以某种方式从外部文件加载模板。想象一下,有大量的模板。这会弄乱html代码并且也不可缓存,并且必须在每个请求上下载。
我希望有一种方法可以在外部文件中定义它们,然后加载它们并将编译好的模板存储到localStorage中。
有没有人知道如何从外部文件加载它们?
答案 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或任何其他类型的模板文件,它们会自动注册。