2015-06-19 127 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

相关问题