在模板中显示Handlebars.js上下文

时间:2012-06-27 17:12:30

标签: handlebars.js

是否有一个变量传递到每个handlebar.js模板中,其中包含模板可以访问的所有上下文内容?

e.g。我正在创建一个模板,但我不知道模板可以访问的所有上下文内容。我希望能够输入模板{{ debug }},并且handlebars.js会将所有上下文内容吐出到HTML中

3 个答案:

答案 0 :(得分:5)

您可以使用以下代码迭代this对象:

{{#each this}}
  {{@key}}: {{this}}
{{/each}}

或迭代@root对象的类似代码:

{{#each @root}}
  {{@key}}: {{this}}
{{/each}}

答案 1 :(得分:4)

Handlebars内置帮助器log

您只需将logging level设置为 DEBUG

Handlebars.logger.level = 0;

然后使用帮助器:

{{log this}}

编辑:抱歉,这不会将上下文写入 HTML ,帮助者使用 console.log 。要输出到HTML,您需要编写将使用的自定义帮助程序,例如JSON.stringify

答案 2 :(得分:0)

虽然这个问题有些陈旧,但有人可能会觉得这很有用。您可以使用;

将把手当前上下文转储为纯文本
{{{.}}}