如何导航到我的Elm应用程序中的其他页面?
具体来说,我正在尝试从主页页面导航到 Contributor 页面。
Contributor 页面位于我的 Domain 文件夹下。
文件结构如下:
- Home.elm
- Domain
- Contributor.elm
我以为我可以这样做:
a [href "Domain/Contributor.elm"] [text "click me!"]
或者这个:
a [href "Domain/Contributor.html"] [text "click me!"]
但是,这些路径都不起作用。
注意: 我正在处理的应用程序不是SPA。
答案 0 :(得分:4)
您正在使用elm-live
,这是一个开发服务器。它将单个Elm源文件作为其入口点,因此除非您的Elm代码构建为单个页面应用程序,否则您将无法导航到另一个文件(尽管硬编码没有任何问题{{ 1}}链接到别处的链接。)
如果您正在尝试避免使用SPA,而是希望每个Elm文件代表单个页面的完整功能,那么您可以使用href
的默认功能,该功能会生成包含内联的HTML文件从Elm代码编译的javascript。从本质上讲,这是推动elm-lang.org网站的动力。如果查看源代码,您将看到默认的elm make
命令生成的html,该命令针对应用程序的每个Elm文件“page”进行编译。
另一方面,如果您正在尝试建立SPA,@ Bill的答案是一个很好的起点。
答案 1 :(得分:3)
我不相信你可以在没有建立SPA的情况下在Elm应用程序中进行那种尝试。您正在尝试使用HTML href属性进行导航。该属性需要是一个真实的URL。如果不使用像Elm导航包这样的东西,你就不会支持多条路线。
Elm中的简单导航非常简单。我写了一篇blog post on this subject。
此外,这篇文章中的github repo that demonstrates the work。