HTML startapp 里面的视图 Graphics.element.container

HTML startapp view inside Graphics.element.container

我正在尝试将我的 html 视图放在容器的中间。

不幸的是,容器提供 Graphics.Element.Element 类型的输出,而 html 视图必须是 Html.Html.

类型

此外,html 元素构造函数如 div, checkbox, button, body return 类型是 Html 而容器需要 Graphics.Element 参数。

这是一个错误的 html 视图,我想让它生效,

view : Signal.Address Action -> Model -> Element
view address model =
  container 1000 1000 middle <|
    toForm <|
      div []
        [ button [ onClick address Decrement ] [text "-"]
        , div [ countStyle ] [ text (toString model ) ]
        , button [ onClick address Increment ] [ text "+" ] 
        ]

它有 two buttonsone div 都放在一个 1000 * 1000 容器的中间。

elm-html 包有一个 fromElement 可用于从 Element.

创建 Html

我要说的是,elm-html 的想法是允许更多 "normal" 渲染流程 HTML 并使用 CSS 来设置样式。虽然它 工作 将你的 Html 转换为 FormElement,但使用拼贴画或容器来移动它到某个区域的中心,然后转换回 Html,我可能会反对它。如果您正在使用 HTML,只需渲染它并设置样式(使用外部样式表或使用 Html.Attributes)。