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

Tri*_*sie 6 handlebars.js

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

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

Cap*_*nRR 6

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

{{#each this}}
  {{@key}}: {{this}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

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

{{#each @root}}
  {{@key}}: {{this}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)


rai*_*dev 4

Handlebars 有内置助手log

您只需将日志记录级别设置为DEBUG即可。

Handlebars.logger.level = 0;
Run Code Online (Sandbox Code Playgroud)

然后使用助手:

{{log this}}
Run Code Online (Sandbox Code Playgroud)

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