【问题标题】:Handlebars.js wont compile/output my template/dataHandlebars.js 不会编译/输出我的模板/数据
【发布时间】:2015-11-10 23:29:01
【问题描述】:

我正在使用 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页面的其余部分。

【问题讨论】:

    标签: javascript handlebars.js template-engine


    【解决方案1】:

    代码看起来是正确的,只需确保 Handlebars.js 文件正确包含在现有脚本标记之前。

    Handlebars CDN 参考:https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.4/handlebars.js

    【讨论】:

    • 感谢您的回答,我已经用更多 html 更新了我的原始帖子。所以你可以看到我已经正确放置了脚本标签。我也尝试将车把脚本标签放在 menu.js 脚本标签上,但没有任何改变。
    • 我将 Handelbar 脚本标签从我的本地副本更改为您提供给我的链接,并且它有效。但它是同一个版本。达夫?
    猜你喜欢
    • 2012-08-09
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多