是否有一个变量传递到每个handlebar.js模板中,其中包含模板可访问的所有上下文内容?
例如,我正在创建一个模板,但我不知道模板可以访问的所有上下文内容.我希望能够输入模板{{ debug }}和handlebars.js将所有上下文内容吐出到HTML中
您可以使用以下代码迭代this对象:
{{#each this}}
{{@key}}: {{this}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
或者通过@root对象迭代的类似代码:
{{#each @root}}
{{@key}}: {{this}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
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 的自定义帮助程序。