1 / 13
文档名称:

Vue 源码解析(上).doc

格式:doc   大小:81KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Vue 源码解析(上).doc

上传人:mh900965 2019/3/7 文件大小:81 KB

下载得到文件列表

Vue 源码解析(上).doc

文档介绍

文档介绍:,它是一个典型的MVVM框架,模型(Model)只是普通的JavaScript对象,修改它则视图(View)会自动更新。这种设计让状态管理变得非常简单而直观,不过理解它的原理也很重要,可以避免一些常见问题。,。如何追踪变化我们先来看一个简单的例子。代码示例如下:<divid="main"><h1>count:{{times}}</h1></div><scriptsrc=""></script><script>varvm=newVue({el:'#main',data:function(){return{times:1};},created:function(){varme=this;setInterval(function(){++;},1000);}});</script>运行后,我们可以从页面中看到,count后面的times每隔1s递增1,视图一直在更新。,并没有任何DOM操作。?我们可以通过一张图来看一下,如下图所示:图中的模型(Model)就是data方法返回的{times:1},视图(View)是最终在浏览器中显示的DOM。模型通过Observer、Dep、Watcher、Directive等一系列对象的关联,最终和视图建立起关系。归纳起来,:通过Observer对data做监听,并且提供了订阅某个数据项变化的能力。把template编译成一段documentfragment,然后解析其中的Directive,得到每一个Directive所依赖的数据项和update方法。通过Watcher把上述两部分结合起来,即把Directive中的数据依赖通过Watcher订阅在对应数据的Observer的Dep上。当数据变化时,就会触发Observer的Dep上的notify方法通知对应的Watcher的update,进而触发Directive的update方法来更新DOM视图,最后达到模型和视图关联起来。。。我们知道,Vue实例创建的过程会有一个生命周期,。initData方法的源码定义如下:<!-源码目录:src/instance/internal/-->=function(){vardataFn=this.$==dataFn?dataFn():{}if(!isPlainObject(data)){data={}!=='production'&&warn('datafunctionsshouldreturnanobject.',this)}varprops=//proxydataoninstancevarkeys=(data)vari,keyi=(i--){key=keys[i]//therearetwoscenarioswherewecanproxyadatakey://'snotalreadydefinedasaprop//'sprovidedviaainstantiationoptionANDthereareno//templateproppresentif(!props||!hasOwn(props,key)){(key)}elseif(!=='production'){warn('Datafield"'+key+'"isalreadydefined'+',usethe"default"'+'propoption;ifyouwanttopasspropvaluestoaninstantiation'+'call,usethe"propsData"option.',this)}}//observedataobserve(data,this)}在initData中我们要特别注意proxy方法,它的功能就是遍历data的key,把data

最近更新

战略联盟合作协议书范本2025年通用 16页

房产买卖合同书模板(2025版) 15页

房产抵押反担保合同书2025年通用 17页

房地产公司劳动合同书范本(2025版) 17页

房地产合作投资开发合同书(民(2025版) 15页

房地产工程合同书2025年通用 15页

房地产消防工程施工合同书范本(2025版) 13页

房地产营销服务合同书(2025版) 15页

房地产销售认筹协议书书正规范本(2025版) 14页

房地产顾问合同书协议书书模板2025年通用 18页

房屋买卖公证合同书范文2025年通用 15页

房屋买卖合同书有抵押(2025版) 15页

房屋买卖定金简单的协议书书范本(2025版) 13页

房屋代持协议书书范本集合(2025版) 14页

房屋出租承包的合同(2025版) 13页

房屋委托买卖合同书范本2025年通用 16页

房屋承建合同书协议书书(2025版) 19页

房屋租赁合同书含附件(2025版) 14页

房屋租赁定金合同(2025版) 14页

房屋装修半包合同书样本(2025版) 16页

打字员的劳动合同书书(2025版) 14页

技改借款合同书2025年通用 15页

报废车辆买卖合同书范本2025年通用 12页

施工工程资料整理工作外包协议书书(2025版) 16页

房屋赔偿协议书书范文2025年通用 13页

房管局买卖合同书书(2025版) 13页

承包加工产品合同书范本(2025版) 12页

承包工程合同书书2025年通用 13页

承包绿化施工合同范本2025年通用 16页

技术人员劳务合同书(2025版) 16页