在 assemble 中,我想定义一个数据层次结构,然后在一个模板中处理数据的子集,如何实现?
例子
阶段.yaml
stages:
stage1:
goodies:
- some
- data
stage2:
goodies:
- more
- data
然后像这样定义数据子集:
索引.hbs
{{#withStage stage1}}
{{#each goodies}}
<p>{{this}}</p>
{{/each}}
{{/withStage}}
我尝试注册以下助手:
helpers.js
Handlebars.registerHelper('withStage', function(context, options){
return options.fn(this.stages[context]);
});
但虽然没有错误,但没有<p>
显示。
为了完整起见,这是我的组装选项:
Gruntfile.js
assemble: {
options: {
layout: "src/layouts/default.hbs",
flatten: true,
data: 'src/data/*.yaml',
helpers: ['./helpers.js'],
},