Handlebars 4.0.5:"未知模板对象:对象"从浏览器控制台运行时

时间:2017-02-02 12:31:36

标签: javascript jquery handlebars.js

我正在尝试做一些Handlebars模板。 首先,我按照Handlebars主页上的第一个示例(http://handlebarsjs.com/):

模板:

<script id="entry-template" type="text/x-handlebars-template">
  <div class="entry">
    <h1>{{title}}</h1>
    <div class="body">
      {{body}}
    </div>
  </div>
</script>

编译:

var source   = $("#entry-template").html();
var template = Handlebars.compile(source);

执行:

var context = {title: "My New Post", body: "This is my first post!"};
var html    = template(context);

我总是收到以下错误:

  

&#34;未知模板对象:对象&#34;

我直接从服务器(http://handlebarsjs.com/installation.html)下载了Handlebars 4.0.5,我也尝试了jQuery 3.1.1和2.2.4。

如果我尝试谷歌这个问题,我只会参考较旧的Handlebars版本。

有人可以帮帮我吗?

编辑: 事实上,只有从(chrome)浏览器控制台运行模板时才会出现此问题。 对此有什么解决方案吗?

由于生产性使用,我有一个相当复杂的JSON结构,我想使用模板,使用浏览器控制台中的模板进行调试和测试将非常有帮助......

2 个答案:

答案 0 :(得分:1)

问题出现在控制台 Chrome当前在断点处停止。即使代码未停止,也可以执行控制台命令。尝试在断点未激活时从控制台运行代码。

答案 1 :(得分:0)

问题在于您的源source变量。进行以下更改:

来自:var source = $("#entry-template").html();

收件人:var source = $("#entry-template").text();

Handlebars.compile()函数需要一个字符串。