2013-12-10 80 views
1

我有這個文件的test.html:Handlebarsjs並把模板到外部文件

<script id="entry-template" type="text/x-handlebars-template"> 
template content 
</script> 

var source = $("#entry-template").html(); 
var template = Handlebars.compile(source); 

這樣我可以正確地看到我的模板,但因爲我有很多的模板來實現的,我想把這部分

<script id="entry-template" type="text/x-handlebars-template"> 
template content 
</script> 

到外部文件。

我使用phonegap,那麼我不能使用服務器端語言。 Handlebarsjs是一個在phonegap中實現模板的好東西嗎? 也許是更好的,如果我會加載模板(只有當我需要它)使用jquery.load?

謝謝

回答

1

我可以在這裏想到兩個答案。

首先,您可以使用ajax從外部源加載文件。這個外部來源可能是您的網絡服務器,或者它甚至可能是您的保管箱的公共文件夾。這會讓你在未來更新應用程序。外部來源也可能是手機上的文件,通過手機間隙加載。這裏是一個例子:loading handlebars.js template from external html file shows nothing

第二種方法是你可以編寫一個自定義phonegap本機處理程序,並將原始html注入到一個javascript函數。例如,第一個參數是文件名,第二個參數是整個html作爲字符串。然後加載該字符串作爲模板。

0

是的,你可以使用這個Plugin-in的把手js和管理你的模板文件在單獨的文件夾中。 由於瀏覽器不允許在因產地空的瀏覽器本地文件加載爲 在Mac

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files 

在窗口中添加參數--allow-文件訪問從-文件的快捷方式,然後打開