前言:实例化Vue的核心是初始化_init方法。初始化的关键步骤是选项的合并。合并的本质是将用户自定义的选项和Vue自带的默认选项合并。那么,今天我们要学习的是关于选项合并的一些知识1.Vue中每个选项合并都有定义的合并策略合并策略原则:(1)如果父组件和子组件有相同的选项,直接合并(2)如果父子组件没有相同的选项,则子Class组件有子组件,没有子组件带父组件。2.选项合并的类型大致包括5类,分别是:通用选项合并,如data、el合并,默认资源选项合并,如组件、指令、filter生命周期Hook函数合并,如mounted、created,销毁数据监听optionmerge,即watchmethod和attributeoptionmerge,比如props,methods,inject,computed3,elmergestrategyel的作用:找到一个DOM元素,让Vue实例挂起上传到上面的merge策略:仅在创建Vue实例时存在,不能在子类或子组件中定义el选项。4.数据的合并策略(1)父子关系首先对数据选项规范进行规范检查,确保是函数合并策略:如果子类中没有数据选项,则合并结果为父类的数据选项。如果该数据选项在父类中不存在,则合并结果为同时存在子类的数据选项进行合并。如果有冲突,则保留子类的数据选项(2)有一个Vue根实例。Vue实例的data选项是一种对象合并策略:当实例中没有传入数据时,默认返回Vue构造函数上的data属性选项。实例中传入数据时,实例的数据对象和Data属性选项上的Vue构造函数合并5、组件、指令、过滤器合并策略(1)创建一个空对象,让这个空对象的原型指向父类选项(2)将子类选项赋值给这个空对象其实说白了就是让子类选项继承父类选项6.生命周期钩子函数有12个mergestrategy生命周期函数,分别是:'beforeCreate','created','beforeMount','mounted','beforeUpdate','updated','beforeDestroy','destroyed','activated','deactivated','errorCaptured','serverPrefetch'合并策略:(1)父子类的选项必须是函数(2)子类和父类有相同的钩子选项,合并成一个数组。子类选项位于数组末尾,执行时间晚于父类选项。(3)如果子类不存在,则返回父类选项。(4)如果子类存在,如果父类不存在,则返回子类Class钩子选项,以数组的形式7、watch选项Mergewatch函数:当数据发生变化时,使用自定义监听器响应数据变化合并策略:(1)如果没有parent,直接使用child选项(2)如果没有child,默认parent选项(3)有时合并成一个数组,数组的元素可以是回调函数,optionobjects,orfunctionnames8,props,methods,inject,computed合并策略(1)父类不存在,返回子类选项(2)子类和父类都存在,子类选项覆盖父类选项。如果您觉得文章对您有帮助,请给个大大的赞,也可以分享出去让更多的人知道!你也是web前端学习者,可以加VX:qingyulan52最后祝你学业进步,早日成为技术高手!!!
