vue的mvvm原理解析及手写一个

# 手写vue的mvvm实现原理

## 1:mvc和mvvm的区别?

MVC:modal-view-controller,比较直观的架构模式;

    用户操作 --->>view层(展示层以及用户交互等)--->controller(对应用户交互后的业务逻辑处理)---->>modal(数据持久化)---->view(将结果反馈回给view)


MVVM:将 **“数据模型/数据双向绑定”** 思想作为核心,因此没有controller层,view和modal间没有联系,通过view modal进行交互,且modal和 viewmodal之间的交互是相互的,因此,view层的数据变化,同时会修改数据源中的数据,

vue的mvvm模式:**数据劫持**, **object.definePropterty**、**发布订阅**

angular的mvvm模式是通过**脏值检测**实现

## 2实现vue的mvvm

### 2.1 明确Object.defineProperty()用法


##### 定义

    MDN中定义如下:

        Object.defineProperty()方法会直接在一个对象上定义一个新的属性,或者修改一个对象的现有属性,并返回这个对象

你可能感兴趣的:(vue的mvvm原理解析及手写一个)