简单的双向数据绑定

Vue2.0中的数据双向绑定原理:主要是用到对象的方法Object.defineproperty,话不多说,上代码
基本布局为下:

  <div>
    <input type="text" id="txt"/>
    <h1 id="msg"></h1>
  </div>

js部分:
Object.defineproperty方法的前两个参数(obj,text)分别为要改变的对象和属性,第三个参数为两个方法get和set,当获取值的时候会触发get方法,当设置值的时候会触发set方法

    var txt= document.getElementById('txt')
    var msg= document.getElementById('msg')
    
    var obj={}
    Object.defineProperty(obj,'text',{
      get:function(){
        
      },
      set:function(data){
        msg.innerHTML=data
      }
    })
    txt.oninput=function(){
      var value=this.value;
      console.log(value)
      obj.text=value // 这个value为传入set方法中的实参,所以在set方法中要用一个形参data来接收     
    }

这样的话就完成了一个简单的双向数据绑定

不足之处,还望指出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值