尚硅谷模拟Vue数据检测

<script>

    let data = {

        name:"尚硅谷",

        address:"北京"

    }

    //创建一个监听实力

    const obj = new Observer(data);

    console.log(obj);

    //准备一个vm 实例对象

    let vm = {};

    vm._data = data = obj;

    console.log(vm);

    function Observer(obj) {

      //汇总对象中的属性key

      const keys = Object.keys(obj);


      keys.forEach((k) => {

        Object.defineProperty(this,k,{


            set(val){

            console.log("设置数据");

              obj[k] = val; 

            },

            get(){

                console.log("获取数据");

              return obj[k]

            }

        });

      })

    }

</script>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容