MVVM就是Model-View-ViewModel模式,这个框架分为三层:
Model层:对应数据层,对网络请求的数据进行同步,主要是做数据和业务逻辑的处理
View层:作为视图模板存在,负责界面和显示,不负责处理状态,只是对数据绑定、事件绑定、指令的声明
ViewModel层:对View层的数据绑定,指令,事件绑定的声明的负责,就是处理View层的具体业务逻辑。ViewModel底层会做好对数据绑定的监听,数据变化时View层会发生改变。
优点:
-
在ViewModel层中将View的状态和行为抽象化,使得我们可以将视图和业务逻辑分开
-
低耦合,可重用性高
-
自动更新dom,利用双向绑定,数据更新后,视图自动更新。
缺点
- bug难调试:由于使用双向绑定,界面异常了,可能是View出错,也可能是Model代码有问题
- 大型项目里视图状态多,维护成本高