Handlebars.js不会编译/输出我的模板/数据

时间:2015-11-10 23:29:02

标签: javascript handlebars.js template-engine

我正在玩Handlebars.js并尝试编译一个小模板。我只使用Handlebars.js而已。 我在我的计算机上本地工作,而不是通过任何形式的服务器。

我的" html"看起来像这样。没什么特别的。

<!doctype html>
<html>
    <head>
        <script src="js/vendor/handlebars.min-4.0.4.js"></script>
    </head>
    <body>
        <script id="menu-template" type="text/x-handlebars-template">
            <h1>{{title}}</h1>
        </script>


        <section id="menu">

        </section>


        <script src="js/menu.js"></script>
    </body>
</html>

我的JS是

var source = document.getElementById('menu-template').innerHTML;
var template = Handlebars.compile(source);
var data = {title: "test"};

document.getElementById('menu').innerHTML = template(data);

似乎template()没有返回任何内容,除了看起来像空字符串之外,我没有得到任何结果。

我一直在玩这个几个小时并在互联网上搜索答案但没有结果。

我在这里做错了吗?

//编辑添加了html页面的其余部分。

1 个答案:

答案 0 :(得分:1)

代码似乎正确,只需确保在现有脚本标记之前正确包含Handlebars.js文件。

把手的参考CDN:https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.4/handlebars.js