1.MVVM模式即Model-View-ViewModel模式
View对应的是DOM,Model对应的是js定义的一些数据或者是从网络中请求的一些数据,ViewModel相当于我们Vue的一个实例。
其中ViewModel是最重要的一个环节,它是模型(Model)和视图(View)通信的一个桥梁,当你有数据需要展示的时候,ViewModel会自动地将数据绑定到View上面,当View上有一些操作或者事件,Model想要改变的时候,也是通过ViewModel。
DOM Listeners和Data Bindings是实现双向绑定的关键。Data Bindings就是数据绑定,将Model的改变实时地反应到View上面;DOM Listeners就是DOM监听,当DOM上发生一些事件(点击、滚动、touch等)的时候可以监听到,并在需要的情况下改变Model层的数据。
2.在数据操作比较多的场景中,MVVM框架更合适,有助于通过操作数据渲染页面。
3.使用MVVM模式的好处有以下几点:
(1)低耦合度,视图可以独立于模型变化和修改,一个ViewModel可以绑定到不同的视图上。
(2)可重用性,可以把一些视图的逻辑放在ViewModel里面,让很多视图复用这段视图逻辑。
(3)独立开发,开发人员可以专注于业务逻辑和数据的开发,设计人员可以专注于视图的设计。
(4)可测试性,可以针对ViewModel来对视图进行测试。