微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可变叶子模板

如何解决可变叶子模板

我正在使用 Leaf Tau,但我认为在“标准”Leaf 中问题是类似的(只是一些其他关键字)。

到目前为止,我的页面是以我称之为“自下而上”的方式创建的。我渲染最具体的部分,然后使用 #inline

例如。在我的 list.leaf 我有

#define(body):
//my html 
#enddefine
#inline("main/subMenus")

然后我有我的子菜单文件

#define(subMenus):
//some html 
#evaluate(body)
#enddefine
#inline("main/mainMenu")

然后我可能有 mainMenu 文件

#define(mainMenu):
//some html 
#evaluate(subMenus)
#enddefine
#inline("main/index")

最重要的是我的索引文件。在我的控制器中,我将渲染包含 #define(body) 的 list.leaf 文件

到目前为止,这对于这个项目中大约 40 个不同的页面(列表和记录页面)来说已经很完美了,但现在需要在身体层面上完全不同的东西。我需要在一页中几个不同的主体

让我澄清一下:用户可以在应用程序中选择创建不同类型的操作。有些动作有 2 个字段和一个图像,其他的有 12 个字段,其他的 5 个字段 3 个图像,......所以它们将呈现完全不同的渲染。 每个动作都有一个名称:例如:Promotion,Invitation,...

用户可以有许多不同的动作,因此我将向我的叶模板传递一系列动作,然后我想呈现这些动作。所以在伪代码中我的正文文件看起来像:

#define(body)
  #for(action in actions):
    #evaluate(action.name)
  #endfor
#enddefine
#inline("main/subMenus")

但是有几个问题:

  • 我可以在顶部的正文文件中定义每个操作,而是将它们放在单独的文件中。因此,向程序添加操作意味着,在叶模板级别,添加具有定义和 html 的 1 个文件。但是我不知道如何做到这一点
  • #evaluate(action.name) 不起作用,看来我不能使用变量,但需要使用硬编码的静态名称

有人可以帮助我如何正确地制定或解决这个问题的更好方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?