首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yesod,Hamlet,按条件生成标记属性

Yesod,Hamlet,按条件生成标记属性
EN

Stack Overflow用户
提问于 2014-05-12 13:33:31
回答 1查看 270关注 0票数 0

根据条件生成HTML标记属性的更好方法是什么?我在模块中有一个外部函数,它可以给我一些价值(例如Bool)。基于此,我需要或不需要向标记中添加一个类。这个元素有子元素。

代码语言:javascript
复制
<tr *class should be here*>
  <td>
  ...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-12 15:41:16

由于哈姆雷特允许在插值中应用函数,所以您可以简单地使用该函数。示例演示:

代码语言:javascript
复制
{-# 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:

代码语言:javascript
复制
λ> main
<tr class="dummyClass"><td> dummy text </td>
</tr>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23610498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档