是否有一个变量传递到每个handlebar.js模板中,其中包含模板可以访问的所有上下文内容?
e.g。我正在创建一个模板,但我不知道模板可以访问的所有上下文内容。我希望能够输入模板{{ debug }}
,并且handlebars.js会将所有上下文内容吐出到HTML中
答案 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)
虽然这个问题有些陈旧,但有人可能会觉得这很有用。您可以使用;
将把手当前上下文转储为纯文本{{{.}}}