2012-12-29 143 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