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
更新函数以消息和模型作为参数。