Handlebars在渲染时部分打印[对象对象]
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>"
我不知道为什么要打印[对象对象]。。。。有什么想法吗?
我今天遇到了同样的问题。我相信这是由于我在本地安装的用于预编译模板的手把版本(手把3.0)与我在浏览器中使用的通过npm安装的版本(手把手2.0)不匹配造成的。我将我的项目的手柄npm包升级到3.0,一切都很顺利。
我不太清楚为什么会发生这种情况。但是,我认为问题在于,模板是用handlerbars预编译器预编译的,然后在将它们分配给handlebars.partials.时再次进行预编译
有一种更优雅的解决方案,但我现在可以使用下面的命令,这些命令是用grunt-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的其他模板中使用,包括部分语法:{{> partialName }}
。
- 如何打印嵌套对象的所有值
- Javascript,从静态函数中打印全局对象
- 试图打印/调用/或提醒数组中的对象:Getting Undefined
- 原始javascript将json对象中的项目打印到列表中的屏幕上
- 我想在单击对象时打印日志
- 尝试从对象打印出响应消息
- 从一个复杂的JSON对象打印每个JSON输入路径
- 我想将所有json对象打印到html和javascript中
- 如何将本地存储的 JSONstringify 对象打印到 html 中
- 从父对象内部的相邻对象打印对象会导致'未定义'消息
- 将日期对象打印为对象,而不是覆盖的tostring方法
- 如何在javascript中将JSON字符串对象打印为下拉列表
- 对象对象打印(Javascript)
- 将 JSON 对象打印为字符串格式
- 我如何遍历一组JS对象并为每个对象打印语句
- Javascript对象打印对象值
- 从警报窗口中的对象打印出值
- 如何将数组对象打印到表中
- 使用React Native为数组中的每个对象打印图像
- 从 JavaScript 对象打印值