合并配置
vue为什么要进行合并配置?
目的是将相关的属性和方法都放到
vm.$options
中vue是如何将这么多的配置进行合并的?
在
src/core/instance/init.js
中可以看到如下一段代码:可以看到两个重要的方法:
initInternalComponent
,mergeOptions
其中
mergeOptions
中包含了resolveConstructorOptions
方法,resolveConstructorOptions
的作用是返回vm.constructor
的options
mergeOptions
方法内部做了什么分析:
parent:
Vue.options ,parent = { components:{KeepAlive: {},Transition:{},TransitionGroup:{}},directives:{},filters:{},_base:Vue}
child: 实例化Vue时,传入的参数,
{ el: '#app',components: { App:{beforeCreate:...,data:...,name:'App'} },template: '<App/>',}
vm: Vue实例(非必填)
分别遍历
parent
,child
,通过合并策略合并相关的配置那么合并策略又是如何将众多配置进行合并的呢,请看下一节
Last updated
Was this helpful?