zoukankan      html  css  js  c++  java
  • Vue2.0和3.0双向绑定原理区别

    vue2.0和3.0双向绑定原理的实现

      html代码:

    <input type="text" id="txt" οnkeyup="show()">//会把这里输入的数据显示到h1标签里面 这里使用了键盘事件
        <h1 id="showtxt"></h1>

        1.object.defineProperty

    //按照1 2 3 4 的顺序看
     1 var obj={};//首先定义一个空的对象。
          Object.defineProperty(obj,"name",{//然后绑定一个name属性 
              
             4 set(val)//这个传过来的值就是 obj.name的值
              {
                  shows(val)//执行方法
              }
              
          })
    var tvale=document.getElementById('txt');
    var hvalue=document.getElementById('showtxt');
         2 function show()
          {
             obj.name=txt.value;//这里是触发键盘事件 让这个对象的name属性的值等于文本框的值
          }
         3 function shows(val)
          {
              hvalue.innerText=val//这里进行赋值在set里面调用
          }//vue2.0实现数据的双向绑定原理

        2.proxy的绑定

    //html结构不变
    var tvale=document.getElementById('txt');
    var hvalue=document.getElementById('showtxt');
             var obj={};
            let proxy=new Proxy(obj,{
     
              set(target,prop,value)//这里接受 3个参数 target表示传过来的对象 prop表示属性 value表示值
              {
                  if(prop==='value')//判断是不是value属性 这个属性 只要和 show方法里面给的属性值一致即可
                  {
                      target[prop]=value;//对属性赋值
                      shows(value)
                  }
              }  
            })
            function show ()
            {
                proxy.value=tvale.value;
            }
     
            function shows(val)
            {
                hvalue.innerText=val;
            }
  • 相关阅读:
    DELPHI 各版本下载
    一个好的网站,学习前端
    没那么难,谈CSS的设计模式
    一个前端的自我修养
    如何学习Javascript
    jQuery WeUI V0.4.2 发布
    微信官方开源UI库-WeUI
    js与php传递参数
    ?js调用PHP里的变量,怎么弄?
    Liferay7 BPM门户开发之23: 了解内置工作流(Kaleo Workflow)
  • 原文地址:https://www.cnblogs.com/yxkNotes/p/12705524.html
Copyright © 2011-2022 走看看