我有一个Elm应用程序,它考虑了Elm Architecture。我已将其用于本教程中的所有示例,它们工作正常。我有以下组件
该ContainerView
组件是一个格式非常复杂的div结构,用于包含其他视图(但目前一次仅包含1个视图)
ContainerListView
可以包含多个containerViews。它处理他们的演示和定位。您可以将其视为MDI表面
主用户界面中的菜单用于将新的容器视图添加到容器视图列表中。
我面临三个主要问题。其中两个是
如何创建组件,以便容器视图可以包含其他任何元素,例如我传入的init,update和view函数,并希望所有东西都正确连接?目前,我的示例视图已经过硬编码。他们确切地知道孩子是谁。
有些组件需要访问诸如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
结果似乎是他们还不知道如何解决该问题,所以他们还没有。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句