什么是MVVM?MVVM是一种设计思想,是Model-View-ViewModel的缩写。它也是MVC的增强版。Model代表一个数据模型,数据修改和操作的业务逻辑也可以定义在Model中。View是具有代表性的UI组件,负责将数据模型转化为UI展示。ViewModel是一个同步View和Model的对象。在MVVM框架下,View和Model之间没有直接联系,而是通过ViewModel(桥)进行交互。Model和ViewModel之间的交互是双向的。ViewModel通过双向数据绑定连接View和Model层,View和Model之间的同步是完全自动的,无需人工操作。MVVM解决了什么问题?MVC和MVVM的区别其实并没有那么大。一切都与设计思维有关。主要原因是MVC中的Controller演变成MVVM中的viewModel。MVVM主要解决MVC中大量的DOM操作降低页面渲染性能,拖慢加载速度,影响用户体验的问题。当Model和Model频繁变化时,开发者需要主动更新View。MVVM实现思路页面变化如何通知对象分为两步,step1如何监听页面变化Step2为对象设置值//1addEventListern,//2obj.value=e.target.value如何通知页面对象变化也分两步step1如何监听对象变化有两种方式:set方法,代理方法step2给页面元素赋值//1letvm=newProxy(obj,{getfunction(obj,prop){}setfunction(obj,prop,value){//我改了}})//2el.value=obj.valueMVVMlinkageprop=>elel=>prop演示代码注:演示代码是(绑定一个-to-one)
