【入门】手写一个vue2的数据双向绑定

94 阅读1分钟
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <p v-bind></p>
        <input type="text" v-model oninput="onput()">
    </head>
    <body>
        <script>
            let text = document.querySelector('[v-model]');
            let obj = {};

            let onput = function(){
                obj.name = text.value;
            }

            Object.defineProperty(obj, 'name', {
                get(){
                    console.log("get go");
                },
                set(value){
                    console.log("set go");
                    let p = document.querySelector('[v-bind]');
                    p.innerHTML = value;
                }
            })
        </script>

    </body>
</html>