1

アセンブルで、1 つのデータ階層を定義してから、1 つのテンプレート内のデータのサブセットで作業したいのですが、これはどのように実現できますか?

ステージ.yaml

stages:
    stage1:
        goodies:
          - some
          - data
    stage2:
        goodies:
          - more
          - data

次に、データのサブセットを次のように定義します。

index.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'],
        },
4

1 に答える 1