ELM应用程序视图中的样式化组件出错
无法理解如何在视图模块中使用导入的样式化组件。以下是组件本身:ELM应用程序视图中的样式化组件出错,elm,Elm,无法理解如何在视图模块中使用导入的样式化组件。以下是组件本身: module Logo exposing (logo) import Css exposing (..) import Html import Html.Styled exposing (..) import Html.Styled.Attributes exposing (css, src) theme : { secondary : Color, primary : Color } theme = { primary
module Logo exposing (logo)
import Css exposing (..)
import Html
import Html.Styled exposing (..)
import Html.Styled.Attributes exposing (css, src)
theme : { secondary : Color, primary : Color }
theme =
{ primary = hex "55af6a"
, secondary = rgb 250 240 230
}
logo : Html msg
logo =
img
[ src "logo.png"
, css
[ display inlineBlock
, padding (px 20)
, border3 (px 5) solid (rgb 120 120 120)
, hover
[ borderColor theme.primary
, borderRadius (px 10)
]
]
]
[]
下面是我想使用它的地方:
view : Model -> Html Msg
view model =
div [] [
div [] [
div [] [
button
[ onClick { operation = "INCREMENT", data = "Already clicked!" } ]
[ text model.title ]
],
div [] [
logo
]
]
]
编译后ELM向我显示的错误是“Functiondiv
希望第二个参数为:
列表(Html消息)
但事实是:
列表(Html.Styled.Html msg)”
如何在其他组件中使用样式化组件?那么问题出在哪里呢?在第一段代码中,您似乎正在使用包 在第二段代码中,听起来您使用的是标准软件包 混合使用这两个包可能会让人感到困惑,因为它们有许多具有相同名称的类型和函数。但是,
Html.Styled
包的作者提供了在两者之间转换的函数:
您可以使用从elm lang/Html
(这是VirtualDom.Node
的类型别名)将其转换为正常的Html
类型
您可以使用另一种方式进行转换
我认为在你的情况下,答案是:
div[][
Html.Styled.toUnstyled徽标
]
看起来您在第一段代码中使用了的包
在第二段代码中,听起来您使用的是标准软件包
混合使用这两个包可能会让人感到困惑,因为它们有许多具有相同名称的类型和函数。但是,Html.Styled
包的作者提供了在两者之间转换的函数:
您可以使用从elm lang/Html
(这是VirtualDom.Node
的类型别名)将其转换为正常的Html
类型
您可以使用另一种方式进行转换
我认为在你的情况下,答案是:
div[][
Html.Styled.toUnstyled徽标
]