我刚开始使用jQuery的模板引擎。目前看起来相当不错。但我想知道是否有可能以某种方式从外部文件加载模板。想象一下有大量的模板。这会弄乱html代码,并且也不可缓存,并且必须在每个请求中下载。从外部文件加载jQuery模板?
我希望有一种方法可以在外部文件中定义它们,然后加载它们并将编译后的模板存储到localStorage中。
有没有人有一个想法如何从外部文件加载它们?
我刚开始使用jQuery的模板引擎。目前看起来相当不错。但我想知道是否有可能以某种方式从外部文件加载模板。想象一下有大量的模板。这会弄乱html代码,并且也不可缓存,并且必须在每个请求中下载。从外部文件加载jQuery模板?
我希望有一种方法可以在外部文件中定义它们,然后加载它们并将编译后的模板存储到localStorage中。
有没有人有一个想法如何从外部文件加载它们?
您可以使用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逻辑或数组。
我最近写了一个JavaScript库,以协助这一点:
https://www.github.com/stevenmhunt/tmpl.loader
您可以添加jsRender或任何其他形式的使用<link>
标签模板文件和他们自动注册。
我写了痘痘的lib作为jQuery插件的ajax呈现在浏览器中jQuery HTML Template Loader
+1与INDEXDB缓存出现块包括使用.template例如HTML()来编译和$ .tmpl()来呈现。这允许稍后重复调用$ .tmpl(),而不需要获取或编译。 – justis 2011-09-02 17:33:41
它给出:TypeError:$。模板不是函数 – zygimantus 2017-04-20 10:37:16