MVVM模式:M(model)+ V(view)+ VM(viewmodel)与 MVC模式:M(model)、V(view)、C(controller)相类似
MVC:
用户向controller层发起请求,controller收到请求后交给model中处理再将结果返回到controller中,controller收到结果后对view进行相对应的页面渲染再反馈给用户。所有操作都在controller中进行,当用户发起大量的请求后,controller加载速度变慢,视图渲染性能降低,进而影响用户体验。
MVVM(图源网络):
DOM Listeners(DOM监听):将View上的事件或操作绑定到Model上,监听view事件并在需要的情况下改变data。Data Bindings(数据绑定):将Model里定义的js数据绑定到View上,model的改变实时展示在view中。通过双向数据绑定,链接model层和view层,当某一方发生改变时,另一方做出相应的更新。
代码中的MVVM:(以计数器代码为例)