问题
For reusability, I want to re-use a widget inside another. For instance, the widget file blogpost.hamlet
could contain how a post is displayed, and blog.hamlet
could contain the full blog.
The following content of blog.hamlet
does not work:
$forall post <- posts
^{widgetFile "blogpost")
So, what is the correct syntax to embed one widget inside another?
回答1:
The Hamlet syntax does not support embedding Template Haskell splices inside of it, which makes the code you're looking to do impossible. Instead, you need to create a helper function in Haskell, e.g.:
blogpost post = $(widgetFile "blogpost")
Then in blog.hamlet, you can have:
$forall post <- posts
^{blogpost post}
来源:https://stackoverflow.com/questions/10791591/how-can-i-include-an-hamletfile-inside-another-using-widgetfile