首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到:"Navigation.Parser“和"Navigation.makeParser”

找不到:"Navigation.Parser“和"Navigation.makeParser”
EN

Stack Overflow用户
提问于 2017-06-02 12:51:49
回答 1查看 125关注 0票数 1

我有以下错误,我很难根据最新版本的elm/Navigation来解决:

-命名错误Home.elm 找不到变量Navigation.makeParser。 231 Navigation.makeParser解析^ Navigation不公开makeParser。 -命名错误Home.elm 找不到Navigation.Parser类型。 229\ urlParser : Navigation.Parser路由^ Navigation不公开Parser

注:

看起来Parser和makePaser在2.1.0版本的导航中被删除了。

有关于如何利用urlParser函数进行导航的更新示例吗?

我有以下几点:

代码语言:javascript
复制
import Navigation exposing (..)

main : Program Never
main =
    Navigation.program urlParser
        { model = model
        , update = update
        , urlUpdate = urlUpdate
        , view = view
        }

...

-- NAVIGATION


parse : Navigation.Location -> Route
parse { pathname } =
    let
        one =
            Debug.log "path" pathname
    in
        case pathname of
            "index.html" ->
                HomeRoute

            _ ->
                NotFound


urlParser : Navigation.Parser Route
urlParser =
    Navigation.makeParser parse
EN

回答 1

Stack Overflow用户

发布于 2017-06-02 13:33:14

Parser的概念是在Elm 0.18期间删除以简化API。现在只需要提供一个函数,该函数接受一个Location,并将一个Msg作为程序函数的第一个参数。

该函数可以是一个接受Msg参数的Location构造函数,如示例目录中的示例所示(以下是在ellie-app.com上的实例)

代码语言:javascript
复制
type Msg
    = UrlChange Navigation.Location

然后,您的update函数将处理UrlChange Msg并采取相应的行动。您仍然可以使用Location解析包,如evancz/url解析器

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44329442

复制
相关文章

相似问题

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