MVVM(Model-View-ViewModel)
即 模块 视图 视图模型
module指的是原始数据
view代表显示曾 即所展示的页面
vm就是将数据转化程页面的工具(桥梁),同时还可以将view层转化成数据层(module),实现的方式就是双向数据绑定,vue极具代表(v-modle)
MVVM的视图和模型通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定.
- 为什么会有MVVM框架?
以前的服务端代码放到了浏览器中,这样就产生了成千上万行的javascript代码,它们连接了各式各样的HTML 和CSS文件,但缺乏正规的组织形式,这也就是为什么越来越多的开发者使用javascript框架。比如:angular、react、vue。浏览器的兼容性问题已经不再是前端的阻碍。前端的项目越来越大,项目的可维护性和扩展性、安全性等成了主要问题。当年为了解决浏览器兼容性问题,出现了很多类库,其中最典型的就是jquery。但是这类库没有实现对业务逻辑的分成,所以维护性和扩展性极差。综上两方面原因,才有了MVVM模式一类框架的出现。比如vue,通过数据的双向绑定,极大了提高了开发效率
1MVC(Model-View- Controller的缩写)
就是模块 (数据)视图(页面) 控制者
MVC模式下将模块何视图分离 ,单项通信
在这种这种模式下 页面的路由参数等等操作交给后端,并且将htnl,css,等文件都通过后端发送给网页,导致服务器臃肿,每次数据发生改变要刷新页面,导致性能下降。