我正在玩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页面的其余部分。
答案 0 :(得分:1)
代码似乎正确,只需确保在现有脚本标记之前正确包含Handlebars.js文件。
把手的参考CDN:https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.4/handlebars.js