为了可重用性,我想在另一个内部重用一个小部件。例如,窗口小部件文件blogpost.hamlet
可以包含帖子的显示方式,blog.hamlet
可以包含完整的博客。
blog.hamlet
的以下内容不工作:
$forall post <- posts
^{widgetFile "blogpost")
那么,将一个小部件嵌入另一个小部件的正确语法是什么?
答案 0 :(得分:15)
Hamlet语法不支持在其中嵌入Template Haskell拼接,这使得您想要的代码无法实现。相反,您需要在Haskell中创建一个辅助函数,例如:
blogpost post = $(widgetFile "blogpost")
然后在blog.hamlet中,您可以:
$forall post <- posts
^{blogpost post}