数据双向绑定练习demo

    xiaoxiao2021-03-25  124

    <script> var text = {}; function del_ff(elem){ var elem_child = elem.childNodes; for(var i=0; i<elem_child.length;i++){ if(elem_child[i].nodeName == "#text" && !/\s/.test(elem_child.nodeValue)){ elem.removeChild(elem_child[i]); } } return elem_child; } text.watcher={ last:"", set:function(id,val){ var child = document.getElementById("testDemo"); child =del_ff(child); text.watcher.last = val; for(var i=0;i<child.length;i++){ if(child[i].getAttribute("ng-val")===id){ if(child[i].tagName==="INPUT"){ child[i].value=val; }else{ child[i].innerHTML = val; } } } } } Object.defineProperty(text.watcher, "value", { set:function(data){ text.watcher.set("text",data) } }); window.onload = function(){ text.watcher.value=2; var input = document.getElementById("input"); input.addEventListener("change",apply,false); function apply(){ var id = input.getAttribute("ng-val"); var val = input.value; if(eval(id).watcher.last != val){ eval(id).watcher.set(id,val); } } } </script> <body> <div id="testDemo"> <input id="input" ng-val="text" /> <p ng-val="text"></p> </div> </body>
    转载请注明原文地址: https://ju.6miu.com/read-10476.html

    最新回复(0)