2016-12-05 4 views
1

Ich möchte einige verschachtelte Makros erstellen. Eine für einen Abschnitt, und dort möchte ich das Makro einer Komponente dynamisch aufrufen. (In diesem Fall wird die Komponente I nennen wollen, ist article.)Nunjucks: Übergeben eines Objekts als Parameter im Makro

Hier ist mein Abschnitt Makro:

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

Component Makro:

<!-- 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 %} 

und ich versuche, es hier zu nennen:

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

ich einen Syntaxfehler für dieses Bit: 'settings': {'classes': 'article--large'}Wie kann ich settings.classes als Parameter übergeben, wenn ich mein settings Makro anrufe?

Antwort

2

Wie ich gerade herausgefunden habe, spielen Räume in Nunjucks eine Rolle. So schreibt man

stattdessen wird tatsächlich ohne Syntaxfehler ausgeführt.

Verwandte Themen