嵌套 UI 组件并访问 Elm 中的全局数据



我有一个榆树应用程序,设计时考虑到了榆树架构。我已经将它用于教程中的所有示例,它们工作正常。我有以下组件

  • 容器列表视图
  • 容器视图
  • 地址视图
  • 注册查看

ContainerView组件是一个非常格式化的div 结构,用于包含其他视图(但目前,一次只能包含 1 个)

ContainerListView可以包含多个容器视图。它处理他们的呈现和定位。您可以将其视为 MDI 表面

主 UI 中的菜单用于将新的容器视图添加到容器视图列表。

我有三个主要问题。其中两个是

  • 如何创建组件,以便容器视图可以包含任何其他元素,例如 init、update 和 view 函数,并期望所有内容都正确连接?目前,我拥有的 samle 视图有点硬编码。他们确切地知道孩子是谁。

  • 某些组件需要访问 url、访问令牌等内容。这是否总是必须从main传递到各个组件,或者它可以来自另一个本质上是只读的源,并且可能只能从 main 更新?

我不确定这两个是否应该单独成为单独的问题。任何有关如何构建更大的应用程序的信息也将不胜感激。

我正在做类似的事情! 嵌套控件。 我也有一个容器对象,它知道它可以处理的所有类型,并且基本上具有处理每种类型的 case 语句。 所以我不能放入一个新的控件类型并期望它处理它,这需要更改容器。

据我所知,elm 没有类型类,这就是我尝试在 haskell 或 purescript 中处理这种抽象的方式。 这里有更多关于这一点的信息:

https://github.com/elm-lang/elm-compiler/issues/38

在这里:

https://github.com/elm-lang/elm-compiler/issues/1039

结果似乎是他们还不知道如何解决这个问题,所以他们没有。

最新更新