MVVM开发模式

什么是MVVM开发模式

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。

  • Model:代表数据模型
  • View:代表视图
  • ViewModel:核心通过(v层数据)双向数据绑定实现M层,和v层交互的代理。(原理:1、对数据绑定,当m层数据变化时,自动更新到v层。2、对dom事件监听。将视图中的数据变化自动更新到M层)
  • Model和View并无直接关联,是通过ViewModel进行联系的。Model和ViewModel之间有双向数据绑定的联系,当Model数据改变时会触发View层刷新,View中由于用户交互改变的数据也会在Model中同步

优点

  • 双向数据绑定,只需管局Model变化,让MVVM框架自动更新DOM状态
  • 将控制器的功能移动到View上处理
  • 视图和逻辑解藕,视图独立于数据
  • 可以复用

缺点

  • bug难以调试,双向数据绑定使定位错误变得复杂
  • 在vue中通过v-model实现双向数据绑定,数据同步从视图->模型通过事件监听实现,数据从模型->视图通过数据绑定(数据填充)

和MVC的区别

1、mvc的Controller:视图请求操作数据,将请求发送至控制器,控制器再将请求发送给模型,模型查找数据,找到后传给控制器,控制器再传递给视图进行渲染。
而mvvm中的vm层是双向数据绑定,当视图请求操作数据,mv对m层和v层两端都有监听操作,通过数据劫持发布订阅者实现双向数据绑定
2、视图和逻辑解藕,易于开发维护
3、增加了逻辑的可重用性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值