如何在我的Elm应用程序中导航到另一个页面?

时间:2017-06-01 12:22:48

标签: elm

如何导航到我的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。

2 个答案:

答案 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