Cro 模板作为对象

Tim*_*son 7 cro raku

场景

我一直在 Cro 中使用模板(记录在https://cro.services/docs/reference/cro-webapp-template),并且很喜欢其中的子项。

我目前有一个“主”模板和一些报告,例如报告 1、报告 2 和报告 3。

假设我想从report3 中包含report1 的数组。

现在,假设每个报告都有以下子项:

  • init:一些 Javascript 初始化代码(无论使用多少个报告实例,都应该只包含一次)

  • HTML:报告的每个实例应包含一些 HTML 代码(带有一些参数来区分它,但由于 Javascript 框架的限制,可能不包含任何<script><style>标签

  • data:每次包含报告时都必须重复的 Javascript 片段

目前,我将上述每个内容都放在模板的单独子目录中。

问题

Redeclaration of symbol '&__TEMPLATE_SUB__report-initial'.

问题

虽然我可以将报告名称(例如“report1”)传递给主模板,但我缺少的是一种让主模板调用已传入的报告名称上的子程序的方法,因为可能有多个涉及报道。

我尝试过的想法

理想的情况是,如果我能够以某种方式创建一个从模板继承的“报告”类,并将模板类的实例传递到主报告中,然后将子类作为报告类上的方法调用。但是,我一直无法找到一种方法来做到这一点。

我可以在这里看到三种可能的选择:

  • 我的困难可能是我没有想到“The Cro Way”。如果有更好的方法来实现我想要做的事情,请告诉我
  • 可能有一种方法可以实现我想要的,但我只是无法理解文档(或者可能丢失)
  • 虽然可能性不大,但 Cro 的设计可能并没有考虑到这种可能性。

任何人可以提供的任何帮助将不胜感激。

谢谢!

编辑:我认为一个可以有多个(命名的)“主体”的宏可以解决这个问题。

jjm*_*elo 4

它看起来像是&__TEMPLATE_SUB__report1-initial一个全局变量,当您导入report1report3. 我可以建议尝试使用模板片段而不是整个模板吗?