4、Elm 架构:生命周期、重构与功能增强

Elm 架构:生命周期、重构与功能增强

1. Elm 架构生命周期

在 Elm 应用中,当持续点击爱心按钮时,爱心图标会在空心和实心之间切换。为了深入理解 Elm 程序的工作原理,下面将详细介绍在 Elm 架构下点击爱心按钮的生命周期。

1.1 初始应用启动

Elm 运行时会启动主程序并初始化应用。它调用视图函数,传入初始模型( initialModel ),生成所需 HTML 的虚拟 DOM 表示。Elm 解释虚拟 DOM 并在浏览器中渲染正确的 HTML,此时会显示未点赞的照片和空心爱心。

1.2 事件绑定

在视图函数中,如果模型的 liked 字段为 False ,会使用 Like 构造函数和 onClick 事件函数。Elm 读取返回的虚拟 DOM,遇到事件属性后,使用 DOM API 在爱心按钮的 DOM 节点上绑定点击处理程序。

1.3 消息处理

当点击爱心按钮时,点击处理程序会将 Like 消息发送到 Elm 运行时的队列中。Elm 运行时从队列中取出消息,并调用更新函数,传入消息和当前模型(此时为初始模型)。更新函数使用 case 表达式返回一个新模型,将 liked 字段设置为 True

1.4 虚拟 DOM 比较与更新

Elm 运行时调用视图函数,传入新模型

源码来自:https://pan.quark.cn/s/fdd21a41d74f 正方教务管理系统成绩推送 简介 使用本项目前: 早晨睡醒看一遍教务系统、上厕所看一遍教务系统、刷牙看一遍教务系统、洗脸看一遍教务系统、吃早餐看一遍教务系统、吃午饭看一遍教务系统、睡午觉前看一遍教务系统、午觉醒来看一遍教务系统、出门前看一遍教务系统、吃晚饭看一遍教务系统、洗澡看一遍教务系统、睡觉之前看一遍教务系统 使用本项目后: 成绩更新后自动发通知到微信 以节省您宝贵的时间 测试环境 正方教务管理系统 版本 V8.0、V9.0 如果你的教务系统页面下图所示的页面完全一致或几乎一致,则代表你可以使用本项目。 目前支持的功能 主要功能 每隔 30 分钟自动检测一次成绩是否有更新,若有更新,将通过微信推送及时通知用户。 相较于教务系统增加了哪些功能? 显示成绩提交时间,即成绩何时被录入教务系统。 显示成绩提交人姓名,即成绩由谁录入进教务系统。 成绩信息按时间降序排序,确保最新的成绩始终在最上方,提升用户查阅效率。 计算 计算百分制 对于没有分数仅有级别的成绩,例如”及格、良好、优秀“,可以强制显示数字分数。 显示未公布成绩的课程,即已选课但尚未出成绩的课程。 使用方法 Fork 本仓库 → 开启 工作流读写权限 → → → → → 添加 Secrets → → → → → → Name = Name,Secret = 例子 程序会自动填充 尾部的 ,因此你无需重复添加 对于部分教务系统,可能需要在 中添加 路径,如: 开启 Actions → → → 运行 程序 → → 若你的程序正常运行且未报错,那么在此之后,程序将会每隔 30 分钟自动检测一次成绩是否有更新 若你看不懂上述使用...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值