Elm - 架构

在本章中,我们将讨论在 Elm 平台中创建应用程序的标准方法。 Elm 使用类似于模型-视图-控制器模式的架构模式。

以下是 Elm 架构的四个主要部分。

  • 模型
  • 视图
  • 消息
  • 更新
建筑

Elm 架构如何工作

模型包含应用程序状态。 例如,如果应用程序显示客户列表,则状态将包含每个客户数据。 为了以可呈现的方式显示状态,必须生成 view/html。 一旦用户通过按下按钮或在表单中键入数据与视图交互,视图就会生成称为消息的信号。 消息被传递到 更新 方法,该方法评估消息并采取适当的操作。 因此,更新方法将生成一个新的模型。

新模型生成新视图。 该视图将导致从用户到信号消息的新交互,从而更新功能。 此外,该函数还创建了一个新模型。 因此,如上图所示,循环重复。

模型

模型处理应用程序的状态。 下面给出了定义模型的语法 −

-- Model syntax

type alias Model = {
   property1:datatype,
   proptery2:datatype
...
}

要创建模型,我们需要首先创建一个包含所需所有属性的模板。 每个属性指定应用程序的状态。

视图

视图是应用程序状态的可视化表示。 视图知道如何获取数据并从中生成网页。 当用户与视图交互时,用户可以通过生成消息来操纵状态。 定义View的语法如下 −

--View Syntax
view model =some_implementation

消息

消息是来自用户的更改应用程序状态的请求。 消息作为参数传递给更新函数。

--Message Syntax
type Message = Message1 |Message2 ...

语法显示类型消息。 Elm 应用程序将根据传递给它的消息编辑状态。 这些决定是在更新方法中做出的。

更新

更新函数解释作为参数传递给它的消息,并更新模型。

--Update Syntax
update Message_type model =
   some_implementation

更新函数以消息和模型作为参数。