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

问题描述

我正在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 (将#修改为@)