渲染时车把部分打印 [Object object]
Handlebars partial printing [Object object] when rendered
我正在尝试注册 Handlebars 部分,以便它可以包含在另一个视图中。我正在使用 Handlebars 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>
这是部分内容:
<p>This is a sub navigation.</p>
我正在使用 Handlebars 预编译器编译所有模板,如下所示:
handlebars views/partials/*.handlebars views/partials/**/*.handlebars -f .tmp/public/js/templates.js
在我的申请中:
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>"
我不确定为什么要打印 [Object object]...。有什么想法吗?
我不确定为什么会这样。但是,我认为问题在于模板是使用 handlebars 预编译器预编译的,然后在分配给 Handlebars.partials.
时再次编译
对此有一个更优雅的解决方案,但我现在可以使用以下命令 运行 with g运行t-exec.
handlebars views/partials/**/*.handlebars > .tmp/public/js/templates.js
这会预编译模板,它们可以从 Handlebars.templates
获得
然后我也运行.
handlebars -p views/partials/**/*.handlebars >> .tmp/public/js/templates.js
.
这将使用 partials 标志再次预编译相同的模板,并将输出附加到相同的模板文件。
这些可以从 Handlebars.partials
获得,也可以使用 Handlebars include 部分语法在其他模板中使用:{{> partialName }}
.
我运行今天遇到了同样的问题。我认为这是由于我在本地安装的用于预编译模板的 handlebars 版本 (handlebars 3.0) 与我在浏览器中使用的通过 npm 安装的版本 (handlebars 2.0) 不匹配造成的。我将我项目的 handlebars npm 包升级到 3.0,一切正常。
我正在尝试注册 Handlebars 部分,以便它可以包含在另一个视图中。我正在使用 Handlebars 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>
这是部分内容:
<p>This is a sub navigation.</p>
我正在使用 Handlebars 预编译器编译所有模板,如下所示:
handlebars views/partials/*.handlebars views/partials/**/*.handlebars -f .tmp/public/js/templates.js
在我的申请中:
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>"
我不确定为什么要打印 [Object object]...。有什么想法吗?
我不确定为什么会这样。但是,我认为问题在于模板是使用 handlebars 预编译器预编译的,然后在分配给 Handlebars.partials.
时再次编译对此有一个更优雅的解决方案,但我现在可以使用以下命令 运行 with g运行t-exec.
handlebars views/partials/**/*.handlebars > .tmp/public/js/templates.js
这会预编译模板,它们可以从 Handlebars.templates
然后我也运行.
handlebars -p views/partials/**/*.handlebars >> .tmp/public/js/templates.js
.
这将使用 partials 标志再次预编译相同的模板,并将输出附加到相同的模板文件。
这些可以从 Handlebars.partials
获得,也可以使用 Handlebars include 部分语法在其他模板中使用:{{> partialName }}
.
我运行今天遇到了同样的问题。我认为这是由于我在本地安装的用于预编译模板的 handlebars 版本 (handlebars 3.0) 与我在浏览器中使用的通过 npm 安装的版本 (handlebars 2.0) 不匹配造成的。我将我项目的 handlebars npm 包升级到 3.0,一切正常。