我有一个捕获字符串的主模板:

@(captured: String)

.... other templating stuff


我有一个想要利用@captured的子模板:

.... somewhere in this templating stuff we have:
@subTemplate(@captured) <- wants to use @captured


我尝试了这个,除了错误我什么都没有。我确定这一定是可能的,那么我在做什么错呢?很抱歉,如果这个问题很简单,我只是不知道如何为Google简洁地表述它。

最佳答案

在将captured的尾部@符号作为变量传递时,需要删除该符号。

例如

@subTemplate(@captured) --> @subTemplate(captured)


之所以如此,是因为@是一个特殊符号,它告诉Play模板引擎将要进行一些计算,而不仅仅是输出HTML。在上述情况下,通过调用子模板,您已经开始了计算(即使用@符号),因此您不必在括号内再次使用它,因为编译器已经处于计算模式。

这与Play 1.x模板引擎完全相同。

09-10 23:34