🍴Forkify学习笔记

MVC模式之 Controller 与 View 如何通信?
用到发布-订阅者模式

订阅者(Subscriber):想要响应事件的代码
发布者(Publisher):知道何时触发事件的代码

View中监听事件发生,真正的事件处理要在Controller里面。现在的问题是:事件处理函数controlRecipe()在Controller当中,用于渲染菜谱;addHandlerRender在RecipeView中,但是不能直接在RecipeView中调用Controller里面的controlRecipe,因为在MVC架构中,View不会导入(import)Controller的。
发布-订阅模式:RecipeView作为发布者,Controller作为订阅者,发布者甚至不知道订阅者的存在。(View无法访问Controller当中的内容)。

we can subscribe to the publisher by passing into subscriber function as an argument.
我们将订阅者的函数作为参数传递给发布者。当init()函数启动时,把controlRecipe作为参数传入addHandlerRender. So we subscribe controlRecipe to addHandlerRender,以至于这两个函数连接起来了。当addHandlerRender监听事件发生时,controlRecipe会作为addEventListener的回调函数被调用。换句话说,发布者一旦发布事件,订阅者就会被调用。这让我们能够保留handler在Controller当中,listener在View当中,分离开来了。

posted @   一个甜橙子  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示