简单的讲,MV-VM是一种软件架构模式
1、MV-VM
M:Model指服务器上的业务逻辑操作。
V:View前端页面。
VM:ViewModel是M,V之间的枢纽,比如Vue.js,React.js,Angular.js
![](https://img.haomeiwen.com/i13111708/6a67460d322fe032.png)
1、ajax:前端可以发送ajax请求,后端也能推送
2、View视图层与ViewModel层的数据绑定是双向的
3、关于双向:正向:数据驱动视图,反向:页面更新数据(input)
2、关于双向绑定
从上图中我们可以看到双向绑定是MVVM框架中的重要一环。
2.1、Object.defineProperty
Object.defineProperty(obj, propName, discriptor)会直接在一个对象上定义一个新属性,或者修改一个对象现有属性,并返回这个对象。
利用Object.defineProperty()可以监听到属性的改变。
obj:需要新增/修改属性的对象
propName:需要新增/修改的属性名
discriptor:对属性的描述
双向绑定的反向实现(数据影响视图)
// html部分省略
const obj = {};
Object.defineProperty(obj, 'iVal', {
enumerable: true,
configurable: true,
set: function(val) {
const iId = document.getElementById('uId');
iId.value = val;
}
});
网友评论