【发布时间】:2017-11-27 17:30:46
【问题描述】:
我是一名 JS 程序员,试图编写一些 Groovy 代码(完全没有 Java 背景)。我需要使用 Groovy 编写一些模板,所以我创建了一个函数以避免重复。我的目标是能够将 html 对象传递给函数(例如:p()、div()、span() 等等),但没有按我的预期工作:
函数
void addon ( addonType, mainHolder, content ) {
div( class: "addon " + addonType ) {
div( class: "addon-main" ) {
div( class: "addon-main-holder" ) {
yieldUnescaped mainHolder
}
}
div( class: "addon-content" ) {
yieldUnescaped content
}
}
}
不起作用:
[...]
body {
addon( 'addon-warning', p('Lorem Ipsum'), p('Dolor sit amet consectetur') )
}
[...]
作品:
[...]
body {
addon( 'addon-warning', '<p>Lorem Ipsum</p>', '<p>Dolor sit amet consectetur</p>') )
}
[...]
我尝试了一些变体,使用yield 而不是yieldUnescaped,但没有成功。是否可以?任何帮助将不胜感激。
【问题讨论】:
-
这有点令人困惑,因为您提到有些东西不起作用而有些东西起作用。所以,不清楚实际的问题是。