关于mvvm的个人理解
vue的概述部分:
Vue.js 的核心是一个响应的数据绑定系统,它让数据与 DOM 保持同步非常简单。在使用 jQuery 手工操作 DOM 时,我们的代码常常是命令式的、重复的与易错的。Vue.js 拥抱数据驱动的视图概念。通俗地讲,它意味着我们在普通 HTML 模板中使用特殊的语法将 DOM “绑定”到底层数据。一旦创建了绑定,DOM 将与数据保持同步。每当修改了数据,DOM 便相应地更新。这样我们应用中的逻辑就几乎都是直接修改数据了,不必与 DOM 更新搅在一起。这让我们的代码更容易撰写、理解与维护。
示例下的描述:
注意我们不需要撰写任何 DOM 操作代码:被绑定增强的 HTML 模板是底层数据状态的声明式的映射,数据不过是普通 JavaScript 对象。我们的视图完全由数据驱动。
综合这部分描述,我的理解如下:
MVVM的职能拆分
V层:视图层,vue文件的template代码;
职能是根据数据模型展示UI和事件监听(通知vm层更新数据)
原话:模板中使用特殊的语法将 DOM “绑定”到底层数据(事件监听处理,触发事件后可以类似jQuery 操作 DOM)。
被绑定增强的 HTML 模板是底层数据状态的声明式的映射,数据不过是普通 JavaScript 对象;
M层:数据模型层,对应vue中的data数据;
职能是提供视图层的数据信息;
VM层:逻辑处理层(进化后的controler),对应vue中的methods等等;
职能是处理视图层和数据模型层的连接关系,起到视图层和数据保持同步;
V => M过程:事件监听(即DOM Listeners);视图层触发事件,vm处理逻辑更新数据;
M => V过程:数据映射(即Data Bindings);可以大量省略我们手动更新视图层的代码和时间;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统