MVVM(四)双向数据绑定-原理图

1:原理图解

 

2:

(1). 双向数据绑定是建立在单向数据绑定(model==>View)的基础之上的
(2). 双向数据绑定的实现流程:
       * 在解析v-model指令时, 给当前元素添加input监听
       * 当input的value发生改变时, 将最新的值赋值给当前表达式所对应的data属性.
 
model: function (node, vm, exp) {
    this.bind(node, vm, exp, 'model');
    var me = this,
    val = this._getVMVal(vm, exp);
    node.addEventListener('input', function (e) {
    var newValue = e.target.value;
      if (val === newValue) {
        return;
      }
      me._setVMVal(vm, exp, newValue);
      val = newValue;
    });
  }

  

 

posted @ 2018-12-17 15:40  INSTANCE_SELF  阅读(471)  评论(0编辑  收藏  举报