Elm:如何创建不返回 Msg 的 View ?

标签 elm

目前,我有一个只显示错误文本的嵌套组件。 view 方法接收一个 Model 并返回 Html,但是编译器提示说 Html 需要另一个值,所以我最终这样做了:

view: Model -> Html ()
view error =
    div [class "docs-section error-bar"] [
      errorText error
    ]

errorText: Model -> Html ()
errorText error =
  case error.text of
    Nothing -> span [][]
    Just value -> text value

我不喜欢的是我必须将 () 值添加到签名中。有什么办法可以摆脱它吗?

谢谢!

最佳答案

Html type只需要一个参数,因此您总是必须提供某物。使用 () 作为类型参数是在其中放置虚拟值的常用方法。

您总是可以定义类型别名以避免每次都键入 ():

type alias OnlyHtml = Html ()

然后你可以适本地改变你的类型签名:

view: Model -> OnlyHtml

关于Elm:如何创建不返回 Msg 的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257407/

相关文章:

http - 使用 RemoteData 解码非 JSON 响应

reactjs - Elm 与 React : why no lifecycle functions in Elm?

list - 榆树排序和[可比]

random - Elm - 生成随时间变化的随机数列表

elm - 如何在 elm 的文本/输入框中自动选择/突出显示文本

elm - 什么是国际化 Elm 应用程序的好方法?

constructor - 如何检查变量是否已使用构造函数构造?

elm - 如何在 Elm 中 Debug.log 信号?

functional-programming - Elm 中的空括号 `()` 是什么意思?

Elm:是否有适用于 0.17 版本的 url 路由器?