2016-12-05 4 views
1

いくつかのネストされたマクロを作成したいと思います。 1つはセクション用で、そこにはどのコンポーネントのマクロも動的に呼びたいと思います。 (この場合、私が呼び出したいコンポーネントがarticleです。)Nunjucks:マクロにパラメータとしてオブジェクトを渡す

は、ここに私のセクションのマクロです:

<!-- section.nunjucks --> 
    {% macro section(config) %} 
    <section class="site__section section"> 
     {% for item in config %} 
     {{ item.macro(item.settings) }} 
     {% endfor %} 
    </section> 
    {% endmacro %} 

コンポーネントマクロ:

<!-- article.nunjucks --> 
    {% macro article(settings) %} 
    <article class="article {{ settings.classes }}"> 
     <h1 class="article__title">Hello World</h1> 
     <p class="article__body">Lorem ipsum dolor.</p> 
    </article> 
    {% endmacro %} 

、私はここでそれを呼び出すようにしようとしています:

{{ section([{'macro': article, 'settings': {'classes': 'article--large'}}]) }} 

私はこのビットの構文エラーを取得:'settings': {'classes': 'article--large'}

settingsマクロを呼び出すときに、settings.classesをパラメータとして渡すにはどうすればよいですか?

答えて

2

Nunjucksではスペースが問題になります。したがって、代わりに文法エラーなしで実際に実行されるのは、

{{ section([{ 'macro': article, 'settings': { 'classes': 'article--large' } }]) }} 

です。

関連する問題