在Elm中编辑起始页

问题描述

这是我第一次与Elm合作。 如果不是解决方案,您能否建议一种资源来帮助我解决此类问题? 下面给出的代码是网站的起始页,我需要从中删除一些内容->

  1. 页面左上方的徽标(代码中带有Ad的部分)
  2. 整个页脚(其他2个徽标和一个版本字符串)。

我尝试仅删除与此相关的代码,但是它开始返回有关Html Global.Msg错误,并且代码中存在结构错误。关于type annotation :错误,并且这不是一个函数

这是我第一次与Elm合作,所以我什么都听不懂。 我也无法获得确切的错误,因为我是在获取错误并使用原始错误的几个小时后问这个问题。
无论如何,谢谢;)

view : Shared -> Model -> List (Html Global.Msg)
view shared model =
    let
        r =
            model.route

        yum-cheeseAd { baseUrl } =
            Html.blankA
                [ HtmlA.href baseUrl,HtmlA.id "yum-cheese-ad",Strings.YumCheeseWheretoGet |> Lang.title shared ]
                [ Html.div []
                    [ Icon.BoxOpen |> Icon.viewIcon,Html.span [] [ Strings.YumCheese |> Lang.string shared |> Html.text ]
                    ]
                ]
    in
    [ Html.div [ HtmlA.class "page start" ]
        [ overlay shared model.overlay,Html.header [ HtmlA.class "title-card" ]
            [ Html.h1 [] [ Html.div [ HtmlA.class "card-slicer" ] [ Call.viewUnkNown shared [] ] ],Html.div [ HtmlA.class "subtitle" ]
                [ Html.div [ HtmlA.class "card-slicer" ]
                    [ Response.view shared Configure.fake Card.Front [] (subtitleCard shared)
                    ]
                ]
            ],Card.view []
            [ Tabs.view shared
                { selected = r.section,change = \s -> Route.Start { r | section = s } |> Global.ChangePage,ids = NeList New [ Join model.gameCode,Find,About ],tab = tabFor,equals = sectionsMatch
                },sectionContent shared model
            ],Html.footer [ HtmlA.class "version-info" ]
            [ Html.div [ HtmlA.class "logos" ]
                [ Html.blankA
                    [ HtmlA.class "logo",Strings.Project |> Lang.title shared,HtmlA.href "https://something.com/"
                    ]
                    [ Icon.viewStyled [ Strings.logoDescription |> Lang.alt shared ] Icon.YumCheese ],Html.blankA
                    [ HtmlA.class "logo",Strings.DevelopedBy |> Lang.title shared,HtmlA.href "https://www.qazwsx.com/"
                    ]
                    [ Icon.viewStyled [ Strings.logoDescription |> Lang.alt shared ] Icon.rereadGames ]
                ],Html.p [ HtmlA.class "version" ]
                [ Html.text "\"",Strings.YumCheese |> Lang.html shared,Html.text "\" ",Strings.Version { versionNumber = Version.version } |> Lang.html shared
                ]
            ]
        ],shared.sources.yumcheese |> Maybe.map yumcheeseAd |> Maybe.withDefault Html.nothing
    ]

解决方法

那呢:

view : Shared -> Model -> List (Html Global.Msg)
view shared model =
    let
        r =
            model.route
    in
    [ Html.div [ HtmlA.class "page start" ]
        [ overlay shared model.overlay,Html.header [ HtmlA.class "title-card" ]
            [ Html.h1 [] [ Html.div [ HtmlA.class "card-slicer" ] [ Call.viewUnknown shared [] ] ],Html.div [ HtmlA.class "subtitle" ]
                [ Html.div [ HtmlA.class "card-slicer" ]
                    [ Response.view shared Configure.fake Card.Front [] (subtitleCard shared)
                    ]
                ]
            ],Card.view []
            [ Tabs.view shared
                { selected = r.section,change = \s -> Route.Start { r | section = s } |> Global.ChangePage,ids = NeList New [ Join model.gameCode,Find,About ],tab = tabFor,equals = sectionsMatch
                },sectionContent shared model
            ]
        ]
    ]

我删除了页脚和广告。您的错误听起来像是语法错误。我怀疑您在删除内容时搞砸了嵌套列表,从而弄错了。

如果这不能解决您的问题,我建议:

  1. 将完整的错误消息放入您的问题中。

  2. 如果还没有阅读榆木official guide。不会花太长时间,将有助于理解该语言。

  3. 构造一个minimal working example。这是我被卡住时要做的。通常,在构建解决方案时会找到解决方案。