我有以下错误,我很难根据最新版本的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函数进行导航的更新示例吗?
我有以下几点:
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发布于 2017-06-02 13:33:14
Parser的概念是在Elm 0.18期间删除以简化API。现在只需要提供一个函数,该函数接受一个Location,并将一个Msg作为程序函数的第一个参数。
该函数可以是一个接受Msg参数的Location构造函数,如示例目录中的示例所示(以下是在ellie-app.com上的实例)
type Msg
= UrlChange Navigation.Location然后,您的update函数将处理UrlChange Msg并采取相应的行动。您仍然可以使用Location解析包,如evancz/url解析器。
https://stackoverflow.com/questions/44329442
复制相似问题