js实现变量监听 //定义一个对象,挂载到window下,后续在任何模块中,给这个对象的show属性赋值,都将触发set对应的代码,我这么写主要是为了解决vue子组件向父组件传值的问题 window.mlistener={} let _this = this Object.defineProperty(mlistener,'show',{ set: function(val){ _this.showHeader = val _this.showFoot = val } }) window变量触发…
1.vue的实现原理 vue的双向绑定是由数据劫持结合发布者-订阅者模式实现的,那么什么是数据劫持?vue是如何进行数据劫持的?说白了就是通过Object.defineProperty()来劫持对象属性的setter和getter操作,在数据变动时做你想要做的事情. var vm = new Vue({ data: { test : { a: 1 } }, created: function () { console.log(this.test); } }); get和set.为什么会有这两个方…