2011-09-06 30 views
4

我想弄清楚如何將jQuery模板存儲在基本html(不使用字符串或ajax請求)的不同文件中。在單獨的文件中存儲jquery/js模板

例如,我的html頁面上,我想這樣做:

<script type ="text/x-jquery-tmpl" id="personTmpl" src="js/personApp.tmpl.html"></script> 
<div id="container"></div> 
<script type="text/javascript"> 
    var p = { name: 'joe' }; 
    $("#personTmpl").tmpl(p).appendTo("#container"); 
</script> 

凡#personTmpl將在personApp.tmpl.html文件(或別的地方)

定義最終目標是讓我的模板與js代碼(和html)分開。

我不喜歡字符串方法,因爲它使編輯難度更大的模板。而且我也不想在加載時關閉ajax請求(請注意,模板文件最終將被彙總用於生產)。

想法?

+0

我也遇到了這個,但我不知道它是否有可能。在查看資源之後,似乎瀏覽器甚至沒有請求該文件。我知道IE會成爲一個問題;如果IE不識別類型屬性,IE將不加載腳本標籤。我最終只是使用ajax。 –

回答

0

我有一個類似的情況,我的解決方案是編寫一個模板緩存對象,它負責在第一次請求時通過ajax加載模板,並從此之後存儲在內存中。它對我的項目非常有效。如果您有興趣,我可以發佈我使用的代碼。

0

我使用requirejs和他們的文本插件解決了這個問題。在開發過程中,使用XHR請求加載模板。部署時,我使用requirejs r.js文件進行了優化,然後將模板包含在主js文件中,保存了許多要加載的文件。

0

目前開發中正在開發一個API(HTML Imports)來完成此操作 - 概述爲HTML5Rocks。但是,由於正在開發中,除了可以支持有限瀏覽器的應用程序以外,它可能是不合適的。

其他選項將通過Ajax和/或您的構建系統來調整您自己的某些東西。

相關問題