概念介绍
MVVM分为三个部分:分别是M(Model,模型层 ),V(View,视图层),VM(ViewModel,V与M连接的桥梁,也可以看作为控制器)
1、 M:模型层,主要负责业务数据相关;
2、 V:视图层,顾名思义,负责视图相关,细分下来就是html+css层;
3、 VM:V与M沟通的桥梁,负责监听M或者V的修改,是实现MVVM双向绑定的要点;
MVVM支持双向绑定,意思就是当M层数据进行修改时,VM层会监测到变化,并且通知V层进行相应的修改,反之修改V层则会通知M层数据进行修改,以此也实现了视图与模型层的相互解耦;
结合一个简单的例子就是:
M:data里面的数据
V:模板
VM:Vue的实例对象
如图:
数据代理
通过一个对象操作另外一个对象属性的操作
下面是个简单的例子
//数据代理
let a={x:100},
b={y:200}
Object.defineProperty(b,'x',{
get(){
return a.x
},
set(value){
a.x=value
}
})