我可以从Mustache.js中的另一个文件加载部分内容吗?

时间:2015-06-19 19:15:07

标签: javascript mustache

我尝试在使用mustache.js时从单独的文件加载部分内容,但事实证明这很困难。 PHP实现使这很容易,但在JS方面并没有那么多。

我已浏览过文档但无法找到与此相关的任何内容,只使用对象作为部分内容而不是文件。

这里有某种伪代码来解释我想要做的事情。

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

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

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

});

因此,我希望能够将辅助文件作为部分文件加载,并将其包含在要使用的模板中,这样我就不必在我使用的所有不同模板中复制代码。

像Blaze这样的东西,我可以使用{{> templateName}}导入模板,但使用Mustache.js似乎并不那么容易。

如果Mustache无法做到这一点,您会推荐其他哪些图书馆?

1 个答案:

答案 0 :(得分:1)

您可以使用小胡子加载这两个模板,然后将其中一个(部分)传递给应该呈现部分的模板。请注意,为了使其工作,在要呈现部分的小胡子中,变量名称应该包含在三重花括号中,以告诉小胡子它应该是html:

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

然后:

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