2015-06-19 65 views
4

我試圖在使用mustache.js時從一個單獨的文件中加載partials,但事實證明很難。 PHP實現使得這非常簡單,但在JS方面並不那麼重要。我可以從Mustache.js中的另一個文件加載partials嗎?

我已經通過了文檔並不能找到與此相關的任何東西,只使用一個對象作爲一個部分,而不是一個文件。

這裏的某種僞代碼來解釋什麼,我試圖做的。

$.Mustache.load('/mustaches.php', function() { 

    var item = { thing: 'one' }; 
    var partial = 'partials/actions.mustache'; 

    $('.container').mustache(
     'main_mustache', 
     {item: item}, 
     partial 
    ); 

}); 

所以,我希望能夠加載輔助文件作爲部分的一起使用,這樣我就不必在所有我使用不同的模板複製的代碼模板包含它。

的東西像火焰,我可以導入模板與{{> templateName}},但它似乎並沒有被這麼容易Mustache.js。

如果鬍子不可能這樣做,那麼您會推薦哪些其他庫?

回答

1

您可以用鬍子加載這兩個模板,然後將它們傳遞的一個(部分)的一個應該渲染部分。請注意,爲了使其工作,在要渲染部分的鬍子,變量名應包含在三重捲曲護腕以便告訴鬍子,它應該是HTML:

<div> 
    <h1>This is my title</h1> 
    {{{partial}}} 
</div> 

和然後:

$('.container').mustache(
    'main_mustache', 
    {item: item, partial: partial}, 
); 
+0

感謝。這肯定會奏效。我討厭不得不像這樣手動加載partials並將其存儲在一個變量中,但這肯定會起作用,並使我無需重構所有當前的模板。 –

+0

沒問題。樂意效勞! – taxicala

相關問題