博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

vue实现原理

Posted on 2018-06-21 21:17  SmarTom  阅读(244)  评论(0编辑  收藏  举报

1.数据监控(data):监听data属性:

new Vue之后内部扫描data属性值,用

Object.defineProperty(obj,name,{
            set:value=>{
                obj[_key]=value;
                this.render();
            },
            get(){
                return obj[_key];
            }
        })

 

 

 

2.通过消息列队,进行模板替换:

display(objname){
        var getTpl = this[objname].template;
        for(var prop in this[objname].methods){
            getTpl=getTpl.replace("{{"+prop+"}}",this[objname].methods[prop]);
        }
        document.getElementById("test").innerHTML = getTpl;
    }