将宏和参数数组传递给另一个宏

问题描述

我正在Nunjucks中构建可自定义的宏,我想将其他宏传递给它以显示不同类型的项目。 我有这样的数据结构,我想将该模块和该模块的参数数组(它们可以具有不同的类型和数量的参数)传递给其他全局模块(它们都是宏)

{% set itemsList = {
   items: [
            {
                heading: 'heading? ',content: '',modules: [
                    {
                        moduleName: TextModule,moduleArgs: [
                            {text: 'example',text2: 'example2'},{title: '123'},{subtitle: 'xxx'} 
                        ]
                    },{
                        moduleName: TextModule,moduleArgs: [
                            {text: 'example'}
                        ]
                    },{
                        moduleName: AnotherTextModule,heading: 'aaa'}
                        ]
                    }
                ]
            }
]
%}

{{ GlobalModule(itemsList) }}

我将此变量作为参数传递给某个全局模块,然后我想要做类似的事情(这可以按预期工作)

{% if item.modules %}
 {% for module in item.modules %}    
      {{module.moduleName(module.moduleArgs[0],module.moduleArgs[1],module.moduleArgs[2])}}
 {% endfor %}
{% endif %}

如何实现任意数量的参数呢? 我在for循环中尝试了另一个for循环,或者只传递了“ moduleArgs”作为参数,但这没用

{{module.moduleName(module.moduleArgs)}}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...