text: (window.webpackJsonp=window.webpackJsonp||[]).push([[36],{355:function(t,e,s){},442:function(t,e,s){"use strict";s(355)},552:function(t,e,s){"use strict";s.r(e);s(442);var n=s(25),i=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"_9-v-model的原理说一下"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_9-v-model的原理说一下"}},[this._v("#")]),this._v(" "),e("H2Icon"),this._v("9.v-model的原理说一下？")],1),this._v(" "),e("p",[this._v("通过Observer来监听自己的model数据变化，通过Compile来解析编译模板指令，最终利用Watcher搭起Observer和Compile之间的通信\n桥梁，达到数据变化->视图更新在初始化vue实例时，遍历data这个对象，给每一个键值对利用Object.definedProperty对data的键值\n对新增get和set方法，利用了事件监听DOM的机制，让视图去改变数据")]),this._v(" "),e("RightMenu")],1)}),[],!1,null,null,null);e.default=i.exports}}]);