我有一个捕获字符串的主模板:
@(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模板引擎完全相同。