我收到这个我很困惑的错误。我正在使用hbs package运行一个快速3.0.6应用程序来进行模板处理。 我正在尝试基于this example为每个视图创建脚本和样式表的块。
出于某种原因,每当我尝试使用帮助程序时,它会在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是扩展标记的数量。
感谢任何人可能给予的任何见解/帮助!
EDIT :: 另外,我注意到的另一件事是,如果我将块助手更改为:
{{{stylesheets}}}
{{{javascripts}}}
数字从1开始,然后每次刷新页面时继续增加1。我不确定发生了什么,但希望这会有所帮助。
答案 0 :(得分:1)
在'extend'寄存器帮助器中,coffeescript自动返回该方法的最后一个语句的输出,这引起了一个问题。如果我只是在那里留下额外的退货声明,那就有用了。