MVC的思想:一句话描述就是Controller负责将Model的数据用View显示出来
m(模型):处理数据逻辑的部分
v(视图):将数据在客户端显示出来
c(控制器):读取数据,输入,处理用户交互的一部分
mvvm出现的原因是mvc中不提供数据解析,以前的应用页面比较简单,但现在复杂了。
只靠Modle是不行的,相当于vm封装了m,因为vm在处理数据之前还会做一些数据解析的事情。
mvvm的典型--Vue。Vue实例中的data相当于Model层,而ViewModel层的核心是Vue中的双向数据绑定,即Model变化时VIew可以实时更新,View变化也能让Model发生变化。
整体看来,MVVM比MVC精简很多,不仅简化了业务与界面的依赖,还解决了数据频繁更新的问题,不用再用选择器操作DOM元素。因为在MVVM中,View不知道Model的存在,Model和ViewModel也观察不到View,这种低耦合模式提高代码的可重用性。
网友评论