我遇到了这个我相当困惑的错误。我正在运行一个使用hbs 包进行车把模板的 express 3.0.6 应用程序。我正在尝试根据此示例为每个视图的脚本和样式表创建块。
出于某种原因,每当我尝试使用帮助程序时,它都会在 html 文件的顶部添加一些数字(作为纯文本)。更奇怪的是,刷新后数字会发生变化,我不知道出了什么问题,甚至不知道发生了什么。
blocks = {}
hbs.registerHelper 'extend', (name, context) ->
block = blocks[name]
if not block
block = blocks[name] = []
block.push(context.fn this)
hbs.registerHelper 'block', (name) ->
val = (blocks[name] || []).join('\n')
blocks[name] = []
return val
在 layout.html 中:
<head>
{{{block "stylesheets"}}}
{{{block "javascripts"}}}
</head>
在其他视图中:
{{#extend "stylesheets"}}
<link ... />
{{/extend}}
{{#extend "javascripts"}}
<script ...
{{/extend}}
在输出 html 中,我得到“1 1”。1 的值有时会随机变化,但总是有 x 个,其中 x 是扩展标签的数量。
感谢任何人可能提供的任何见解/帮助!
编辑:: 另外,我注意到的另一件事是,如果我将块助手更改为:
{{{stylesheets}}}
{{{javascripts}}}
数字从 1 开始,然后在每次刷新页面时递增 1。我不确定发生了什么,但希望这会有所帮助。