web1.0时代
刚开始前端做项目的时候,都是html,css,js,html5,css3,这样就导致三个问题。 (1)前后端代码都在一起,不容易维护。
(2)开发人员的责任不容易区分。
(3)这样写,后端没办法套数据。
web2.0时代
ajax出现了,此时解决了前后端出现分离。
解决的问题就是:
(1)后端不用等前端页面弄完,前端就是布局,特效,发送请求。后端只负责写接口。
又出现问题:
(1)html,css,js都出现在一个页面中,单个页面内容太多,太冗余。
web3.0时代
出现了框架MVC、MVVM
MVVM最早由微软提出来,它借鉴了桌面应用程序的MVC思想,在前端页面中,把Model用纯JavaScript对象表示,View负责显示,两者做到了最大限度的分离。
把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。
ViewModel如何编写?需要用JavaScript编写一个通用的ViewModel,这样,就可以复用整个MVVM模型了。 假设一个网站系统有1000多行代码,我们用html肯定会写死,(就算不写死,也得累死)。如果我们用Vue框架开发,我们只需要将这个页面里面的每一个小部分用组件来代替,也就是系统首页是一个个组件组成的。
解决问题:可以把一个非常大的页面拆成组件,然后我们一个页面就是很多个组件拼接起来的。真正的组件化开发。
view可以理解为dom,页面中展示的内容; model就是数据,可以理解为Vue中的data数据; ViewModel视图模型层,也就是Vue源码;
这么来理解一下MVVM模式,那就是以前考完试,老师改卷子,在原来的卷子上改,现在有了MVVM以后,相当于你写卷子还要填写答题纸,老师改答题纸,从而将答案和试卷分离,改起来更加方便。 MVVM的设计思想:关注Model的变化,让MVVM框架去自动更新DOM的状态,从而把开发者从操作DOM的繁琐步骤中解脱出来!