Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 渲染时手柄部分打印[对象]_Javascript_Handlebars.js - Fatal编程技术网

Javascript 渲染时手柄部分打印[对象]

Javascript 渲染时手柄部分打印[对象],javascript,handlebars.js,Javascript,Handlebars.js,我正在尝试注册一个把手部分,以便它可以包含在另一个视图中。我用的是车把2.0.0 以下是模板: {{> subNav}} <h1>Issue name: {{ name }}</h1> <h2>Issue id: {{ id }}</h2> <section id="issue-sections"> {{#each sections}} <li> {{> sectionsListIte

我正在尝试注册一个把手部分,以便它可以包含在另一个视图中。我用的是车把2.0.0

以下是模板:

{{> subNav}}

<h1>Issue name: {{ name }}</h1>
<h2>Issue id: {{ id }}</h2>

<section id="issue-sections">
  {{#each sections}}
    <li>
      {{> sectionsListItem}}
    </li>
  {{/each}}
</section>
在我的申请中:

Handlebars.partials = Handlebars.templates; 
在控制台中运行以下命令时:

Handlebars.templates.issuesShow({'a':'b'});
结果是:

"[object Object]<p>This is a sub navigation.</p>
<h1>Issue name: </h1>
<h2>Issue id: </h2>

<section id="issue-sections">

</section>"
“[对象]这是一个子导航

邮品名称: 问题编号: "

我不确定[对象]为什么被打印出来。。。。有什么想法吗?

我不太清楚为什么会发生这种情况。但是,我认为问题在于模板是用handlebar预编译器预编译的,然后当它们被分配到handlebar.partials时再次编译

有一种更为优雅的解决方案,但我现在可以使用grunt exec运行的以下命令

handlebar视图/部分/***.handlebar>.tmp/public/js/templates.js

这将预编译模板,它们将从
handlebar.templates

然后我也跑了

handlebar-p视图/partials/***.handlebar>.tmp/public/js/templates.js

这将使用partials标志再次预编译相同的模板,并将输出附加到相同的模板文件


这些可以从
handlebar中获得。partials
也可以在其他模板中使用,使用handlebar包括部分语法:
{{>partialName}
我今天遇到了同样的问题。我相信这是由于我在本地安装的Handlebar版本(Handlebar 3.0)与我在浏览器中使用的通过npm安装的版本(Handlebar 2.0)不匹配造成的。我将我的项目的Handlebar npm包升级到3.0,一切都很顺利。

可能是因为此处提到的版本不匹配。是的,这正是我发现的。npm已经将Handlebar更新为0.10.2,现在使用Handlebar 3.0.3库来编译模板;但我的运行库仍然是v2。我将运行库更新为3.0.3,一切正常。
Handlebars.templates.issuesShow({'a':'b'});
"[object Object]<p>This is a sub navigation.</p>
<h1>Issue name: </h1>
<h2>Issue id: </h2>

<section id="issue-sections">

</section>"