我有一个捕获字符串的主模板:
@(captured: String)
.... other templating stuff
我有一个想要使用@captured
的子模板:
.... somewhere in this templating stuff we have:
@subTemplate(@captured) <- wants to use @captured
我试试这个,除了错误我什么也得不到。我确定这必须是可能的,所以我做错了什么?对不起,如果这个问题很简单,我就不知道如何简洁地为谷歌说明这个问题。
答案 0 :(得分:3)
当作为变量传入时,您需要删除captured
上的尾随@符号。
例如
@subTemplate(@captured) --> @subTemplate(captured)
之所以如此,是因为@是一个特殊的符号,它告诉Play模板引擎即将进行一些计算,而不仅仅是输出HTML。在上面的例子中,通过调用子模板,你已经开始计算(即使用@符号),所以你不要在parenthisis中再次使用它,因为编译器已经处于计算模式。
这在Play 1.x模板引擎中完全相同。
答案 1 :(得分:0)
删除@captured
中的前导'at'。由于一些奇怪的原因,Play并不想接受这个并让它工作到现在为止。看看我能否重现这个问题。