美文网首页
手动实现双向绑定(简略版)

手动实现双向绑定(简略版)

作者: RedLee666 | 来源:发表于2019-10-01 07:11 被阅读0次

使用defineproperty来定义setter、getter来进行拦截与更新Dom
Html:

<input id = 'input1' />
<input id = 'input2' />

JavaScrpt:

let model = { value: '' };
let vm = {};
Reflect.defineProperty(vm, 'value', {
  set(newValue) {
    Reflect.set(model, 'value', newValue);
    document.getElementById('input2').value = newValue;
    document.getElementById('input1').value = newValue;
  },
  get() {
    return Reflect.get(model, value);
  }
})
document.getElementById('input1').addEventListener('input', (e) => {
  vm.value = e.target.value;
})
document.getElementById('input2').addEventListener('input', (e) => {
  vm.value = e.target.value;
})

相关文章

  • 手动实现双向绑定(简略版)

    使用defineproperty来定义setter、getter来进行拦截与更新DomHtml: JavaScrpt:

  • 实现双向绑定的3种方法

    通过jquery的监听事件手动实现双向绑定 通过Ojbect.definePrpperty实现 通过脏值检测来实现...

  • vue的this.$set的作用

    用于手动让vue实现动态绑定数据 如果我们在创建实例以后,再在实例上绑定新属性,vue是无法进行双向绑定的。比如:...

  • 美团面试总结

    1.angularJS双向绑定实现2.双向绑定的其他实现3.使用get,set实现双向数据绑定4.三列布局实现的三...

  • 深入Vue响应式原理

    1.Vue的双向数据绑定 参考 vue的双向绑定原理及实现Vue双向绑定的实现原理Object.definepro...

  • 《前端面试手记》之常考的源码实现

    ? 内容速览 ? 手动实现call/apply/bind 实现一个完美的深拷贝函数 基于ES5/ES6实现双向绑定...

  • vue双向数据绑定

    剖析Vue原理、实现双向绑定MVVM 几种实现双向绑定的做法 目前几种主流的mvc(vm)框架都实现了单向数据绑定...

  • Vue实现数据双向绑定的原理

    Vue实现数据双向绑定的原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数...

  • vue 双向数据绑定

    Vue实现数据双向绑定的原理:Object.defineProperty()vue实现数据双向绑定主要是:采用数据...

  • 剖析Vue原理&实现双向绑定MVVM

    1、了解vue的双向数据绑定原理以及核心代码模块 2、缓解好奇心的同时了解如何实现双向绑定 几种实现双向绑定的做法...

网友评论

      本文标题:手动实现双向绑定(简略版)

      本文链接:https://www.haomeiwen.com/subject/naltyctx.html