按条件生成HTML标记属性的更好方法是什么。我在模块中有一个外部函数,它可以给我一些价值(例如Bool)。基于我需要或不需要在标签上添加一个类。这个元素有孩子。
<tr *class should be here*>
<td>
...
答案 0 :(得分:0)
由于Hamlet允许在插值中应用函数,因此您只需使用该函数即可。示例演示:
{-# LANGUAGE QuasiQuotes #-}
import Text.Hamlet (shamlet)
import Text.Blaze.Html.Renderer.String (renderHtml)
myClass :: Bool -> String
myClass _ = "dummyClass"
main :: IO ()
main = putStrLn $ renderHtml [shamlet|
<tr .#{myClass True}>
<td> dummy text |]
在ghci:
λ> main
<tr class="dummyClass"><td> dummy text </td>
</tr>