正在加载Mustache.js partials

时间:2017-05-04 07:17:46

标签: jquery templates mustache template-engine

我似乎在使用Mustache的JS实现加载partials时遇到问题。

的index.html:

<head>
...
<script>
    $(document).ready(function() {
        var view = {
            name: "Jon",
            occupation: "Web Developer",
            address:    "123 Place"
        };

        $("#templates").load("templates.html", function() {
            var template = document.getElementById('template1').innerHTML;
            var partials = document.getElementById('address').innerHTML;
            var output = Mustache.render(template, view, partials);
            $("#person").html(output);
        });
    });
</script>
<body>
    <p id="person"></p>
    <div id="templates" style="display: none;"></div>
</body>

Template.html:

<div id="template1">
    <h1>{{name}} is a {{occupation}}</h1>
    {{> address}}
</div>

<div id="address">
    <p>The address is {{address}}</p>
</div>

结果是:

Jon is a Web Developer但部分遗失了。

2 个答案:

答案 0 :(得分:0)

回答这个死线程,因为我遇到了同样的问题,并且认为我想出来了。部分的html将返回&#34;&amp; gt&#34;而不是&#39;&gt;&#39;字符。这导致部分无法加载。

答案 1 :(得分:0)

尝试通过这样的html代码:{{{ <h1>My title</h1> }}} ({} x 3)