MVC模型与MVVM模型的区别,以及VUE代码如何跟MVVM模型对应。

8 篇文章 0 订阅
1 篇文章 0 订阅

MVC:
MODEL:只能单一,只负责操作数据库执行SQL语句,执行CRUD(增加(Create)、读取(Read)、更新(Update)和删除(Delete))
Controller:业务层,控制层,这个模块负责具体的业务逻辑,职能单一,只负责业务逻辑的处理,不负责数据库的操作,如果需要操作数据库,需要调用MODEL层。
View视图层:负责给用户展示,如果需要处理业务逻辑的话,需要通过网络请求,比如ajax请求后端服务器,处理业务逻辑,并且响应给前端。这里就是页面。

传统的前端开发。HTML内容和JS内容混在一起,耦合性太大。

MVVM:vue基于MVVM开发。
在这里插入图片描述
在一个页面中,MVVM模型和VUE代码是如何对应的。
在这里插入图片描述
粉色框部分是model
红色框部分是view
绿色框部分是vm

非常好的VUE视频课程,参考学习连接:
https://www.bilibili.com/video/BV1V44y1e71x/?p=10

MVVM与MVC的区别有:
1、mvvm各部分的通信是双向的,而mvc各部分通信是单向的;2、mvvm是真正将页面与数据逻辑分离放到js里去实现,而mvc里面未分离。
在这里插入图片描述

MVC

MVC是包括view视图层、controller控制层、model数据层。各部分之间的通信都是单向的。
在这里插入图片描述
View 传送指令到 ControllerController 完成业务逻辑后,要求 Model 改变状态Model 将新的数据发送到 View,用户得到反馈

MVVM

MVVM包括view视图层、model数据层、viewmodel层。各部分通信都是双向的。采用双向数据绑定,View的变动,自动反映在 ViewModel,反之亦然。其中ViewModel层,就是View和Model层的粘合剂,他是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他各种各样的代码的极好的地方。说白了,就是把原来ViewController层的业务逻辑和页面逻辑等剥离出来放到ViewModel层
在这里插入图片描述

MVC与MVVM的区别

在MVC里,View是可以直接访问Model的,所以View里会包含Model信息以及一些业务逻辑。 MVC模型关注的是Model的不变,所以在MVC模型里,Model不依赖于View,但是 View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。

MVVM在概念上是真正将页面与数据逻辑分离的模式,它把数据绑定工作放到一个JS里去实现,而这个JS文件的主要功能是完成数据的绑定,即把model绑定到UI的元素上。此外MVVM另一个重要特性双向绑定,它更方便你去同时维护页面上都依赖于某个字段的N个区域,而不用手动更新它们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值