随着前端页面越来越复杂,用户对于交互性要求也越来越高,MVVM模型应运而生。

MVVM最早由微软提出来,它借鉴了桌面应用程序的MVC思想,在前端页面中,把Model用纯JavaScript对象表示,View负责显示,两者做到了最大限度的分离。

把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。

例如:model: $scope.obj={name:'x',age:'12'};

view:  <p>{{obj.name}}<p>;

当你修改model的name值时页面就会发生变化(model-->view的变化)  ;

view-->model的变化  如<input ng-model="key">   $scope.key的值会随着页面输入的值的变化而变化;

;MVVM的设计思想:关注Model的变化,让MVVM框架去自动更新DOM的状态,从而把开发者从操作DOM的繁琐步骤中解脱出来!

05-27 09:05