0
根據條件生成HTML標籤屬性的更好方法是什麼?我在模塊中有一個外部函數,可以給我一些價值(例如Bool)。並根據我需要或不需要添加一個類到標籤。這個元素有孩子。Yesod,Hamlet,根據條件生成標籤屬性
<tr *class should be here*>
<td>
...
根據條件生成HTML標籤屬性的更好方法是什麼?我在模塊中有一個外部函數,可以給我一些價值(例如Bool)。並根據我需要或不需要添加一個類到標籤。這個元素有孩子。Yesod,Hamlet,根據條件生成標籤屬性
<tr *class should be here*>
<td>
...
由於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>
謝謝!函數在hamlet被轉換爲純HTML之前有效,好的。 – SDmitry