我在.hbs文件中包含一个脚本,但每次我组装grunt汇编这个.hbs文件时,HTML输出中的脚本中的hbs模板都会被忽略。 这是我的.hbs文件
<script id="myTemplate1" type="text/x-handlebars-template">
{{#each}}
<div class="sample">
....
</div>
{{/each}}
</script>
我使用grunt汇编汇编上面的.hbs文件,它只是忽略了脚本标记内的所有内容,我只能在HTML输出中看到以下内容
<script id="myTemplate1" type="text/x-handlebars-template">
</script>
这里有什么问题?我试着把脚本作为一个单独的JS文件但是没有用?我还尝试将脚本包含在HTML输出中,但每次我组装时,它都会覆盖,我只得到空标签。
答案 0 :(得分:0)
#each
块帮助器需要传递给它的数组才能迭代。它看起来像......
<script id="myTemplate1" type="text/x-handlebars-template">
{{#each templatesArray}}
<div class="sample">
....
</div>
{{/each}}
</script>
有关更多示例,请参阅Handlebars Documetation。
你还应该查看由Assemble的创建者制作的Handlebars-Helpers,它包含了大量有用的助手。
答案 1 :(得分:0)
您可以使用我在下面提到的内容。
我意识到该方法将与Handlebars的基础相矛盾。相反,我在控制器中添加了以下内容:
var scripts = [{ script: '/js/myTestScript.js' }];
res.render('contact', { title: 'Kontakt', scripts: scripts });
在我的布局中,它看起来像这样:
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
{{#each scripts}}
<script src="{{script}}"></script>
{{/each}}