首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以Cro模板为对象

以Cro模板为对象
EN

Stack Overflow用户
提问于 2021-11-12 09:52:33
回答 2查看 151关注 0票数 7

情景

我一直在使用Cro中的模板(在https://cro.services/docs/reference/cro-webapp-template上有文档),并且喜欢它们中有子类。

我目前有一个“主”模板,还有一些报告,比如report1、report2和report3。

比方说,在report3中,我想包含一个report1数组。

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

  • init:一些Javascript初始化代码(应该只包含一次,不管使用了多少个报表实例)
  • HTML :报告的每个实例都应该包含一些HTML代码(有一些参数来区分它),但是由于Javascript框架的限制,它可能不包含任何<script><style>标记。
  • 数据:--每次报告都必须重复的Javascript片段

目前,我有上述每一个在一个单独的子在模板中。

问题

Redeclaration of symbol '&__TEMPLATE_SUB__report-initial'.

问题

而我可以传递一个报告名(如。( "report1")对于主模板,我所缺少的是让主模板调用已经传入的报表名称上的subs,因为可能涉及多个报告。

我尝试过的想法

理想的情况是,我可以以某种方式创建一个继承自模板的" report“类,并将模板类的实例传递到主报表中,然后调用subs作为报表类上的方法。然而,我一直想不出办法来做这件事。

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

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

任何人能提供的任何帮助都将不胜感激。

谢谢!

编辑:--我认为可以有多个(命名) "bodies“的宏可以解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2021-11-13 07:33:40

看起来,&__TEMPLATE_SUB__report1-initial是一个全局的,当您将report1导入report3时会重新声明它。我可以建议试着使用模板片段而不是整个模板吗?

票数 4
EN

Stack Overflow用户

发布于 2021-11-21 22:52:52

我对您的问题的最初回答是:“请您提供您的代码的最小可重现性示例,这样我们就可以更深入地了解上下文,并有一些我们可以尝试的东西。”

我目前对所需内容的理解是“在Cro模板设置中使用raku样式类&对象(带回调)”--而且标准的实现方法(例如关联访问嵌套主题变量)太有限了。

这本身并不一定是raku / Cro的一个弱点,因为为了避免潜在的安全问题,需要限制模板俚语的功能,而且和大多数模板系统一样,它比一种成熟的编码语言更加平淡无奇。

我的猜测是,Cro 模板-零件可以在(真正的raku)根块中分块和步出web部件,它可以处理您描述的报表数据结构,这取决于您如何分块处理--您尝试过吗?

如果这仍然站不住脚,有几种方法可以扩展选项,如依赖注入和路由处理程序

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69940946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档