2012-12-29 108 views
1

我正在尝试保存一个文件,其中包含可以在页面加载时加载到页面中的模板。这真的有可能吗?让我告诉你我是什么意思:如何将jquery模板文件作为外部模板文件在每个文件中包含多个模板?

通常,我们这样做:

<script id = "template1" type= "text/x-jquery-tmpl">BLAH</script> 
<script id = "template2" type= "text/x-jquery-tmpl">BLAH</script> 
<script id = "template3" type= "text/x-jquery-tmpl">BLAH</script> 

相反我们怎样才能做这样的事情

​​
+0

你最好在服务器上将模板翻译成JavaScript,然后加载一大堆JavaScript(最小化)。 – Pointy

+0

的确如此,那更好。 – ThiefMaster

+0

@Pointy:你是什么意思? – bluejamesbond

回答

4

没有,但你可以简单地使用AJAX请求加载包含单独的<script>模板的页面,然后使用正常的jQuery DOM函数来访问它们:

var templates = {}; 
$.ajax({ 
    url: 'templates.html', 
    dataType: 'html', 
    success: function(data) { 
     $('script', data).each(function() { 
      templates[this.id] = $(this).text(); 
     }); 
    } 
}); 

但是,更清晰的解决方案将转换您的模板到服务器端的单个JSON对象并加载它。

+0

我只是想传递JSON(由服务器制作)到html,以便客户端可以管理它。只是试图让html远离服务器人员 - 我与之合作的人更喜欢这一点。这是一个很好的解决方案!谢谢。 – bluejamesbond

+0

@TheifMaster:你还可以添加templates.html的最佳方式。 – bluejamesbond

+1

可能是一个包含脚本标签的简单文档。 – ThiefMaster