【问题标题】:Nunjucks: Passing an object as parameter in macroNunjucks:在宏中将对象作为参数传递
【发布时间】:2016-12-05 15:19:07
【问题描述】:

我想创建一些嵌套宏。一个部分,在那里我想动态调用任何组件的宏。 (在这种情况下,我要调用的组件是article。)

这是我的部分宏:

  <!-- 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 作为参数传入?

【问题讨论】:

    标签: macros prototype templating nunjucks


    【解决方案1】:

    正如我刚刚发现的那样,空间在 Nunjucks 中很重要。所以写

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

    相反,实际运行时不会出现任何语法错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 2012-07-13
      相关资源
      最近更新 更多