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