谈一下MVVM框架
# 一、谈一下MVVM框架
# web1.0时代
文件全在一起,也就是前端和后端的代码全在一起
问题:
1、前端和后端都是一个人开发。(技术没有侧重点或者责任不够细分)
2、项目不好维护。
3、html、css、js页面的静态内容没有,后端是没办法工作的(没办法套数据)。
mvc....都是后端先出的
# web2.0时代
ajax出现了,就可以:前端和后端数据分离了。
解决问题:后端不用等前端页面弄完没,后端做后端的事情(写接口)、前端布局、特效、发送请求。
问题:
1、html、css、js都在一个页面中,单个页面可能内容也是比较多的(也会出现不好维护的情况)。
# 出现前端的框架了MVC、MVVM
解决问题:可以把一个“特别大”页面,进行拆分(组件化),单个组件进行维护
# 什么是MVVM
是Model-View-ViewModel的缩写的简写
![image-20210809000318578](/Users/each/Library/Application Support/typora-user-images/image-20210809000318578.png)
view : 视图【dom==》在页面中展示的内容】
model:模型【数据层:vue中的data数据】
viewModel:视图模型层【就是vue源码,Vue的实例对象,连接View和Model的桥梁】
核心是提供对View和ViewModel的双向数据绑定,当数据改变的时候,ViewModel能监听到数据的变化,自动更新视图,当用户操作视图的时候,ViewModel也可以监听到视图的变化,然后通知数据进行改动,这就实现了双向数据绑定
ViewModel通过双向绑定把View和Model连接起来,他们之间的同步是自动的,不需要认为干涉,所以我们只需要关注业务逻辑即可,不需要操作DOM,同时也不需要关注数据的状态问题,因为她是由MVVM统一管理