MVC / MVVM 和 Vue3、React18 到底啥关系?
MVC / MVVM 和 Vue3、React18 到底啥关系我用最直白、最贴合你日常写代码的方式讲清楚保证你瞬间通透。一、先给结论最重要Vue3 标准的 MVVM 框架官方自己定义的React18 借鉴 MVVM 思想但不是严格的 MVVM官方叫数据驱动两者都彻底抛弃了 MVC前端现在没人用 MVC 写项目二、Vue3 为什么是 MVVM完全对应Vue3 里的三个角色 MVVM 的三个部分1. View视图就是你写的templatetemplate div{{ name }}/div button clickchangeName改名字/button /template只负责显示不写业务逻辑不操作数据2. Model数据层就是你从接口请求的数据、本地数据constnameref(张三);负责存数据负责接口请求3. ViewModel核心双向绑定就是 Vue3 帮你做的自动同步机制View 变 → Model 自动变Model 变 → View 自动变你完全不用手动操作 DOM// 你只需要改数据constchangeName(){name.value李四;// 页面自动更新不用 document.getElementById};Vue3 MVVM 的完美体现双向绑定v-model 就是 MVVM 标志性功能数据驱动视图改数据 改页面View 和 Model 完全不直接接触三、React18 是什么不是纯 MVVM但思想一样React 官方定义单向数据流的数据驱动框架它没有双向绑定但核心思想和 MVVM 完全一致。React18 对应 MVVM1. View视图就是你写的JSXdiv{name}/div button onClick{changeName}改名字/button2. Model数据层就是State 接口数据const[name,setName]useState(张三);3. ViewModelReact 的“自动更新”就是State 驱动渲染改 State → 页面自动刷新但 View 变了不会自动改 State这是和 Vue 最大区别constchangeName(){setName(李四);// 页面自动更新};一句话总结 React单向数据流版 MVVM思想一样只是没有双向绑定。四、Vue3 和 React18 共同抛弃了什么抛弃了MVC、原生 DOM 操作、jQuery 时代写法旧写法MVC/jQuery 风格已淘汰// 手动操作 DOM → MVC 风格document.getElementById(btn).click(function(){document.getElementById(name).innerText李四;});Vue3 / React18 写法MVVM 风格// 只改数据页面自动变 → MVVM 风格name.value李四;setName(李四);五、一张表看懂 Vue3 / React18 与 MVVM 的关系概念MVVM 核心Vue3 是否支持React18 是否支持视图Viewtemplate/JSX✅ 完全支持✅ 完全支持数据Model数据/接口✅ 完全支持✅ 完全支持自动同步View ↔ Model✅双向绑定✅单向驱动不用DOM不操作原生节点✅ 完全不用✅ 完全不用定位架构模式标准 MVVM类 MVVM数据驱动六、最通俗的最终总结背会就够Vue3 标准 MVVM有双向绑定v-model数据变页面变页面变数据也变React18 MVVM 思想单向数据流没有双向绑定数据变页面变但页面变要手动同步共同点最重要都是数据驱动视图都不用手动操作 DOM都彻底远离 MVC都是为了代码分离、好维护最终一句话你写 Vue3、React18 的每一天都在写 MVVM只是你没意识到而已
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2452341.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!