I just started using jQuery\'s template engine. Which looks quite nice so far. Yet i wonder if it\'s possible to load templates from an external file somehow. Imagine having
I recently wrote a javascript library to assist with this:
https://www.github.com/stevenmhunt/tmpl.loader
You can add jsRender or any other kind of template files using the <link>
tag and they automatically register.
you can load this template with 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>
You can add now the localstorage logic or an array for the loaded templates if you want to load any template only once.
I wrote litle lib as jQuery plugin for ajax rendering html on appear block with indexDB caching in browser jQuery HTML Template Loader